詳解SVN子命令log用法
之前我們講解了部分SVN子命令的使用方法,本節(jié)簡(jiǎn)單介紹一下SVN子命令log的使用,SVN子命令log表示顯示提交日志信息,下面我們看一下具體介紹吧。
名稱
SVN子命令log—顯示提交日志信息。
概要
svnlog[PATH]svnlogURL[PATH...]svnlogURL[@REV][PATH...]描述
缺省目標(biāo)是你的當(dāng)前目錄的路徑,如果沒(méi)有提供參數(shù),svnlog會(huì)顯示當(dāng)前目錄下的所有文件和目錄的日志信息,你可以通過(guò)指定路徑來(lái)精煉結(jié)果,一個(gè)或多個(gè)修訂版本,或者是任何兩個(gè)的組合。對(duì)于本地路徑的缺省修訂版本范圍BASE:1。
如果你只是指定一個(gè)URL,就會(huì)打印這個(gè)URL上所有的日志信息,如果添加部分路徑,只有這條路徑下的URL信息會(huì)被打印,URL缺省的修訂版本范圍是HEAD:1。
SVN子命令log使用--verbose選項(xiàng)也會(huì)打印所有影響路徑的日志信息,使用--quiet選項(xiàng)不會(huì)打印日志信息正文本身(這與--verbose協(xié)調(diào)一致)。
每個(gè)日志信息只會(huì)打印一次,即使是那些明確請(qǐng)求不止一次的路徑,日志會(huì)跟隨在拷貝過(guò)程中,使用--stop-on-copy可以關(guān)閉這個(gè)特性,可以用來(lái)監(jiān)測(cè)分支點(diǎn)。
選項(xiàng)
--revision(-r)REV
--quiet(-q)--verbose(-v)
--targetsFILENAME
--stop-on-copy
--incremental
--limitNUM
--xml
--usernameUSER
--passwordPASS
--no-auth-cache
--non-interactive
--config-dirDIR
例子:
你可以在頂級(jí)目錄運(yùn)行SVN子命令log看到工作拷貝中所有修改的路徑的日志信息:
$svnlog
------------------------------------------------------------------------
r20|harry|2003-01-1722:56:19-0600(Fri,17Jan2003)|1lineTweak.
------------------------------------------------------------------------
r17|sally|2003-01-1623:21:19-0600(Thu,16Jan2003)|2lines…檢驗(yàn)一個(gè)特定文件所有的日志信息:
$svnlogfoo.c
------------------------------------------------------------------------
r32|sally|2003-01-1300:43:13-0600(Mon,13Jan2003)|1lineAddeddefines.
------------------------------------------------------------------------
r28|sally|2003-01-0721:48:33-0600(Tue,07Jan2003)|3lines…如果你手邊沒(méi)有工作拷貝,你可以查看一個(gè)URL的日志:
$svnloghttp://svn.red-bean.com/repos/test/foo.c
------------------------------------------------------------------------
r32|sally|2003-01-1300:43:13-0600(Mon,13Jan2003)|1lineAddeddefines.
------------------------------------------------------------------------
r28|sally|2003-01-0721:48:33-0600(Tue,07Jan2003)|3lines…如果你希望查看某個(gè)URL下面不同的多個(gè)路徑,你可以使用URL[PATH...]語(yǔ)法。
$svnloghttp://svn.red-bean.com/repos/test/foo.cbar.c
------------------------------------------------------------------------
r32|sally|2003-01-1300:43:13-0600(Mon,13Jan2003)|1lineAddeddefines.
------------------------------------------------------------------------
r31|harry|2003-01-1012:25:08-0600(Fri,10Jan2003)|1lineAddednewfilebar.c
------------------------------------------------------------------------
r28|sally|2003-01-0721:48:33-0600(Tue,07Jan2003)|3lines…當(dāng)你想連接多個(gè)對(duì)日志命令的調(diào)用結(jié)果,你會(huì)希望使用--incremental選項(xiàng)。SVN子命令log通常會(huì)在日志信息的開(kāi)頭和每一小段間打印一行虛線,如果你對(duì)一段修訂版本運(yùn)行svnlog,你會(huì)得到下面的結(jié)果:
$svnlog-r14:15
------------------------------------------------------------------------
r14|...
------------------------------------------------------------------------
r15|...
------------------------------------------------------------------------
然而,如果你希望收集兩個(gè)不連續(xù)的日志信息到一個(gè)文件,你會(huì)這樣做:
$svnlog-r14>mylog$svnlog-r19>>mylog$svnlog-r27>>mylog$catmylog
------------------------------------------------------------------------
r14|...------------------------------------------------------------------------------------------------------------------------------------------------
r19|...------------------------------------------------------------------------------------------------------------------------------------------------
r27|...------------------------------------------------------------------------
你可以使用incremental選項(xiàng)來(lái)避免兩行虛線帶來(lái)的混亂:
$svnlog--incremental-r14>mylog$svnlog--incremental-r19>>mylog$svnlog--incremental-r27>>mylog$catmylog
-----------------------------------------------------------------------
r14|...------------------------------------------------------------------------
r19|...------------------------------------------------------------------------
r27|...--incremental選項(xiàng)為--xml提供了一個(gè)相似的輸出控制。
提示
如果你在特定路徑和修訂版本運(yùn)行SVN子命令log,輸出結(jié)果為空
$svnlog-r20http://svn.red-bean.com/untouched.txt
------------------------------------------------------------------------
這只意味著這條路徑在那個(gè)修訂版本沒(méi)有修改,如果從版本庫(kù)的頂級(jí)目錄運(yùn)行這個(gè)命令,或者是你知道那個(gè)修訂版本修改了那個(gè)文件,你可以明確的指定它:
$svnlog-r20touched.txt
------------------------------------------------------------------------
r20|sally|2003-01-1722:56:19-0600(Fri,17Jan2003)|1lineMadeachange.本節(jié)介紹SVN子命令log完畢,請(qǐng)關(guān)注本節(jié)其他相關(guān)報(bào)道。
【編輯推薦】
- SVN子命令SVN Update詳解
- SVN子命令diff三大用法詳解
- SVN子命令add用法淺析
- 利用SVN子命令查看所有及特定文件版本信息
- SVN子命令SVN merge使用方法全程指導(dǎo)