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

相关内容