svn 高級用法查看修改的文件記錄

svn cat -- 顯示特定版本的某文件內容。vim

cat示例:

svn cat -r 4 test.c     #查看版本4中的文件test.c的內容,不進行比較。緩存

svn list -- 顯示一個目錄或某一版本存在的文件列表。bash

list示例:

svn list svn://47.92.113.117/paodekuaisvn

svn list -v http://svn.test.com/svn  #查看詳細的目錄的信息(修訂人,版本號,文件大小等)。spa

svn list -v svn://47.92.113.117/paodekuai日誌

svn list [-v]                        #查看當前當前工做拷貝的版本庫URL。code

svn diff -- 顯示特定修改的行級詳細信息。cmd

diff示例:

svn diff               #什麼都不加,會堅持本地代碼和緩存在本地.svn目錄下的信息的不一樣;信息太多,沒啥用處。
svn diff -r 3          #比較你的本地代碼和版本號爲3的全部文件的不一樣。
svn diff -r 3 text.c   #比較你的本地代碼和版本號爲3的text.c文件的不一樣。
svn diff -r 5:6        #比較版本5和版本6之間全部文件的不一樣。
svn diff -r 5:6 text.c #比較版本5和版本6之間的text.c文件的變化。
svn diff -c 6 test.c    #比較版本5和版本6之間的text.c文件的變化。it

svn log -- 顯示svn 的版本log,含做者、日期、路徑等。io

log示例:

svn log         #什麼都不加會顯示全部版本commit的日誌信息:版本、做者、日期、comment。
svn log -r 4:20 #只看版本4到版本20的日誌信息,順序顯示。
svn log -r 20:5 #顯示版本20到4之間的日誌信息,逆序顯示。
svn log test.c  #查看文件test.c的日誌修改信息。
svn log -r 8 -v #顯示版本8的詳細修改日誌,包括修改的全部文件列表信息。
svn log -r 8 -v -q   #顯示版本8的詳細提交日誌,不包括comment。
svn log -v -r 88:866 #顯示從版本88到版本866之間,當前代碼目錄下全部變動的詳細信息 。
svn log -v dir  #查看目錄的日誌修改信息,須要加v。
svn log http://foo.com/svn/trunk/code/  #顯示代碼目錄的日誌信息。

經常使用命令

svn add file|dir -- 添加文件或整個目錄

svn checkout -- 獲取svn代碼

svn commit  -- 提交本地修改代碼

svn status    -- 查看本地修改代碼狀況:修改的或本地獨有的文件詳細信息

svn merge   -- 合併svn和本地代碼

svn revert   -- 撤銷本地修改代碼

svn resolve -- 合併衝突代碼

svn help [command] -- 查看svn幫助,或特定命令幫助

svn diff個性化定製

svn配置文件: ~/.subversion/config

修改~/.subversion/config,找到以下配置行:

# diff-cmd = diff_program (diff, gdiff, etc.)

將上面那個腳本的路徑添加進去就行,修改成

diff-cmd = /usr/local/bin/diffwrap.sh  #絕對路徑

這樣svn diff命令就會默認使用vimdiff比較文件。

diffwrap.sh文件

#! /bin/bash

# for svn diff: 修改~/.subversion/config,找到以下配置行:
# diff-cmd = diff_program (diff, gdiff, etc.)
# diff-cmd = ~/bin/diffwrap.sh

# 參數大於5時,去掉前5個參數;參數小於5,失敗,什麼也不作
shift 5

# 使用vimdiff比較 vimdiff "$@"

相關文章
相關標籤/搜索