SVN 批量删除或添加文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN 批量删除或添加文件相关的知识,希望对你有一定的参考价值。
参考技术A 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/image@2x.png@,这样就可以删除成功了。
SVN批量添加文件
几乎和上面批量删除一样,不同的是svn标记的符号不一养,使用的是问号
svn status|grep ? |awk 'print $2'|xargs svn add
处理好之后就可以 svn commit -m "..."
Python开发SVN批量提交命令脚本
############# Svn commit data scripts #############
脚本功能说明:
将客户端添加、修改、删除过的文件及文件夹提交
执行方法:
python svn_commit.py 提交目录
如:
python svn_commit.py E:\test
############# Scripts demo #############
#!/usr/bin/env python #coding:utf-8 import os file_name = sys.argv[1] #file_name = raw_input(‘你要运行的程序:‘) os.chdir(file_name) r=os.popen(‘svn st‘) info = r.readlines() for line in info: line = line.strip(‘\n‘).split(‘ ‘) one=line[0] tow=line[1] if one == ‘?‘: os.system(‘svn add %s‘ % tow ) elif one == ‘!‘: os.system(‘svn delete %s‘ % tow) os.system(‘svn commit -m "commit"‘ )
############# 修改过的内容如下 #############
svn st 列出修改过的文件
!为删除的文件
? 为新增加的文件
M 为修改的文件
############# 执行脚本展示 #############
############# 再次查看提交内容 #############
本文出自 “wsyht90的博客” 博客,请务必保留此出处http://wsyht90.blog.51cto.com/9014030/1881892
以上是关于SVN 批量删除或添加文件的主要内容,如果未能解决你的问题,请参考以下文章