征服SVN命令行常用命令
1 svn info
获取当前本地代码库的基本信息。
取当前本地代码的版本号
svn info trunk/| awk -F ':' '{ if($1 ~ /^Revision$/) {print $2} }' | tr -d " "
2 svn log
获取某次修订版的提交内容。-v显示具体提交修改的文件列表,-r指定版本号。
3 svn diff
比较两个版本号间的差别。
4 svn checkout/update
检出代码svn checkouthttp://127.0.0.1/repos/trunk
更新代码svn update trunk/
5 应用例子
获得更新前后的版本号间的提交记录,以及修改内容比较。
#!/usr/bin/bash repo=$1 #Save old revision old_rev=` svn info $repo | \ awk -F ':' '{ if($1 ~ /^Revision$/) {print $2} }' | \ tr -d " " ` echo Old revision: $old_rev #Update code svn update $repo #Save new revision before update new_rev=` svn info $repo | \ awk -F ':' '{ if($1 ~ /^Revision$/){print $2} }' | \ tr -d " " ` echo New revision: $new_rev #Generate diff report if [ $old_rev == $new_rev ]; then echo No revision commited. else svnlog -v -r $old_rev:$new_rev $repo svn diff -r $old_rev:$new_rev $repo fi
参考资料
http://www.subversion.org.cn/svnbook/1.4/svn.ref.svn.c.log.html
http://www.subversion.org.cn/svnbook/1.2/svn.tour.history.html