获取当前本地代码库的基本信息。
取当前本地代码的版本号
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 checkout
更新代码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