SVN相关技巧
显示日志限制条目数
显示提交日志时可以增加 --limit
参数限制条目数:
~# svn log --limit 4
回滚没有提交的修改
增加 --recursive
参数可以递归子目录:
~# svn revert --recursive .
生成 patch 文件
例如指定两个版本生成 patch 文件:
~# svn diff -r 454:455 --git > test.patch
也可以:
~# svn diff -r 454:455 --patch-compatible > test.patch
外部仓库
获取当前目录下的外部仓库列表:
~# svn propget --recursive svn:externals
kernel - http://192.168.1.XXX/svn/kernel/trunk/YYY YYY
SVN 命令可以增加 --ignore-externals
参数忽略外部仓库,例如:
~# svn status --ignore-externals
处理特殊文件名
如果添加名称中带 @
的文件,需要附加以 @
结束,例如需要添加 lvm2_pvscan_systemd_red_hat@.service.in
文件:
~# svn add lvm2_pvscan_systemd_red_hat@.service.in@
自动更新文件
根据 svn status
结果自动更新文件:
~# svn status | grep "^[\?I]" | sed -e 's/[?I] *//' | sed -e 's/ /\\ /g' | xargs svn add
~# svn status | grep "^\!" | sed -e 's/! *//' | sed -e 's/ /\\ /g' | xargs svn delete
修改仓库地址
需要 Subversion 1.7 以上版本:
~# svn relocate svn://sub.someaddress.com.tr/project