征服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

 

 

posted on 2013-02-25 13:52  毛小娃  阅读(141)  评论(0编辑  收藏  举报

导航