SVN 批量删除或添加文件

如题所述

第1个回答  2022-06-12
SVN批量删除文件

svn status | grep ! | awk '{print $2}' | xargs svn delete

1、首先svn status查看svn状态,列出所有改动,打!号的是已经删除的文件但是还未标记成从库中除去。

2、grep ! 将这些文件单独抽离出来,此时如果不执行后面的语句,呈现的内容应该是类似 !  filepath/image/image.jpg

3、再用 awk '{print $2}' 将抽离出来的文本结果处理,留下每一行的第二段文字,即后面的文件名, 此处必须注意,svn status|grep ! 和后面的语句 |awk '{print $2}'|xargs svn delete之间,必须有一个空格,否则终端还是会认为这个!号是特殊符号.

4、最后就可以直接递交给svn delete命令了,使用xargs这个参数构造命令,将每一行的文本作为参数提供给svn del,结果就是所有列出的文件都执行了一遍del了。

注意:

有时删除图片倍图,带有@符号的时候,报错 a peg revision is not allowed here 。解决方法在文件后添加@符号,例如,删除一张图片 svn delete filepath/[email protected]@,这样就可以删除成功了。

SVN批量添加文件

几乎和上面批量删除一样,不同的是svn标记的符号不一养,使用的是问号

svn status|grep ? |awk '{print $2}'|xargs svn add

处理好之后就可以 svn commit -m "..."