SVN 命令行 递归add/del目录下未add/del的文件

我经常会一次往Subversion里添加一批文件。在使用命令行做这件事时,你必须指定所有想要添加的文件名。如果文件不多的话这还不算太糟糕,但如果你要添加20个文件,那就费事了。当然你也可以用通配符,但这样一来就可能匹配到已经在版本控制之下的文件(这不会有什么损害,只不过会输出一堆错误信息,可能会跟别的错误信息混淆)。为了解决这个问题,我写了一行简单的bash命令

svn st | grep'^\?'| tr'^\?'''| sed's/[ ]*//'| sed's/[ ]/\\ /g'| xargs svn add (当文件名有空格时 不可用)


然后我在一个博客中看到这样一个脚本:

svn st|awk '{print $2}'|xargs svn add。

乍看之下觉得更加精炼,仔细看下就会发现这个脚本没有区分文件状态。所以完善了以下这个脚本:

svn st | awk'{if ( $1 == "?") { print $2}}'| xargs svn add (当文件名有空格时 不可用)

以上from:http://blog.csdn.net/spare_h/article/details/6677435

另外,svn删除已经被删掉的文件也很麻烦,我把上面的命令改了一下,这样可以批量svn del目录下所有已经被删除的文件

svn st | grep'^\!'| tr'^\!'''| sed's/[ ]*//'| sed's/[ ]/\\ /g'| xargs svn del

精简版:

svn st | awk'{if ( $1 == "?") { print $2}}'| xargs svn del (当文件名有空格时 不可用)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容