详解Linux上svn命令行批量操作

详解Linux上svn命令行批量操作

  虽然说git很好,大多数时候我也是使用git,但是有时候因为一些原因,不得不使用svn,而在linux上使用svn是没有像windows上的tortoisesvn的软件的(网上有说有类似的,但是折腾了很久仍然没有成功),所以直接来命令行吧。

        我们直接安装svn就好,然后文件修改之后使用命令

svn status

        查看文件的跟踪信息,这里会使用一些代号,对应的大概是

“ ” 无修改
“A” 新增
“C” 冲突
“D” 删除
“G” 合并
“I” 忽略
“M” 改变
“R” 替换
“X” 未纳入版本控制,但被外部定义所用
“?” 未纳入版本控制
“!” 该项目已遗失 (被非 svn 命令所删除) 或是不完整
“~” 版本控制下的项目与其它类型的项目重名
 

        这里我们需要考虑的是“缺失”和“未纳入版本控制“,也就是”!“和”?“,直接使用下面的命令即可

svn add `svn status |grep ? |awk '{print $2}'`
svn delete `svn status |grep ! |awk '{print $2}'`

        注意命令中的反引号,是”esc“键下面,”1“旁边的那个,表示一个命令。

        使用上面的命令之后,对应的文件的状态就会变成对应的“D”和“A”,然后就可以使用命令

svn commit -m "xxxx"

        进行提交了! 

        这里提到的两种命令操作对于文件明中存在空格的情况会出问题

        如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。