svn添加所有文件和删除不存在的文件
前两天在一个博客中看到,感谢分享。
很是方便好用。
以下摘自:《卓有成效的程序员》之自动化
我经常会一次往Subversion里添加一批文件。在使用命令行做这件事时,你必须指定所有想要添加的文件名。如果文件不多的话这还不算太糟糕,但如果你要添加20个文件,那就费事了。当然你也可以用通配符,但这样一来就可能匹配到已经在版本控制之下的文件(这不会有什么损害,只不过会输出一堆错误信息,可能会跟别的错误信息混淆)。为了解决这个问题,我写了一行简单的bash命令:
svn st | grep '^\?' | tr '^\?' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g' | xargs svn add
表4.3详细解释了这一行命令。
我大概花了15分钟写出这条命令,然后用了它成百上千次。
****************************************************
我还在一博客中看到更精炼的脚本:
svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add
当你第三次做一件事情的时候,就应该考虑将其工具化,自动化
**************************************************************************************************************
我灵学活用一下,改了个删除不存在文件的脚本:
svn st | grep '^\!' | tr '^\!' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g' | xargs svn del