svn没有像git一样的add -A功能,所以利用linux命令实现两个比较常用的svn add all;
svn add all
svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add
这个比较常见,网上也可以搜的到,基本还是挺好用的,但是有个问题,就是如果碰到文件中含有类似@这种字符例如 二倍图片image@2x.png 需要
svn add image\@2x.png@
这样才可以添加成功,所以当有特殊字符时,普通的svn add all这个命令就失去效果了。
svn add all with @
svn st|awk 'match($2,/@/)'|awk '{if ( $1 == "?") { print $2}}'|awk 'gsub("@","\@"){print $0"@"}'|xargs svn add
使用方式是先执行这个svn add all with @的命令,然后执行第一个普通的svn add all;
简单讲解一下,linux大佬无视之:
match 先匹配所有含@的行,然后通过第一个awk筛选出所有同时带@和?的;第二个awk替换@为@,并且通过print在后缀增加@‘最后统一执行svn add。