SVN相关技巧
回滚没有提交的修改
增加 --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
自动更新文件
根据 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
修改仓库地址
需要 svn 1.7 以上版本:
~# svn relocate svn://sub.someaddress.com.tr/project