SVN 命令列 遞迴add/del目錄下未add/del的檔案

weixin_33749242發表於2017-11-30

我經常會一次往Subversion裡新增一批檔案。在使用命令列做這件事時,你必須指定所有想要新增的檔名。如果檔案不多的話這還不算太糟糕,但如果你要新增20個檔案,那就費事了。當然你也可以用萬用字元,但這樣一來就可能匹配到已經在版本控制之下的檔案(這不會有什麼損害,只不過會輸出一堆錯誤資訊,可能會跟別的錯誤資訊混淆)。為了解決這個問題,我寫了一行簡單的bash命令

svn st | grep'^\?'| tr'^\?'''| sed's/[ ]*//'| sed's/[ ]/\\ /g'| xargs svn add (當檔名有空格時 不可用)


4313441-8ffc8d3d5aa2741a.png

然後我在一個部落格中看到這樣一個指令碼:

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 (當檔名有空格時 不可用)

相關文章