名稱
svn log — 顯示提交日誌資訊。
概要
svn log [PATH]
svn log URL [PATH...]
svn log URL[@REV] [PATH...]
描述
預設目標是你的目前的目錄的路徑,如果沒有提供參數,svn log會顯示目前的目錄下的所有檔案和目錄的日誌資訊,你可以通過指定路徑來精鍊結果,一個或多個修訂版本,或者是任何兩個的組合。對於本地路徑的預設修訂版本範圍BASE:1。
如果你只是指定一個URL,就會列印這個URL上所有的日誌資訊,如果添加部分路徑,只有這條路徑下的URL資訊會被列印,URL預設的修訂版本範圍是HEAD:1。
svn log使用--verbose選項也會列印所有影響路徑的日誌資訊,使用--quiet選項不會列印日誌資訊本文本身(這與--verbose協調一致)。
每個日誌資訊只會列印一次,即使是那些明確請求不止一次的路徑,日誌會跟隨在拷貝過程中,使用--stop-on-copy可以關閉這個特性,可以用來監測分支點。
選項
--revision (-r) REV
--quiet (-q)
--verbose (-v)
--targets FILENAME
--stop-on-copy
--incremental
--limit NUM
--xml
--username USER
--password PASS
--no-auth-cache
--non-interactive
--config-dir DIR
例子
你可以在頂級目錄運行svn log看到工作拷貝中所有修改的路徑的日誌資訊:
$ svn log
------------------------------------------------------------------------
r20 | harry | 2003-01-17 22:56:19 -0600 (Fri, 17 Jan 2003) | 1 line
Tweak.
------------------------------------------------------------------------
r17 | sally | 2003-01-16 23:21:19 -0600 (Thu, 16 Jan 2003) | 2 lines
…
檢驗一個特定檔案所有的日誌資訊:
$ svn log foo.c
------------------------------------------------------------------------
r32 | sally | 2003-01-13 00:43:13 -0600 (Mon, 13 Jan 2003) | 1 line
Added defines.
------------------------------------------------------------------------
r28 | sally | 2003-01-07 21:48:33 -0600 (Tue, 07 Jan 2003) | 3 lines
…
如果你手邊沒有工作拷貝,你可以查看一個URL的日誌:
$ svn log http://svn.red-bean.com/repos/test/foo.c
------------------------------------------------------------------------
r32 | sally | 2003-01-13 00:43:13 -0600 (Mon, 13 Jan 2003) | 1 line
Added defines.
------------------------------------------------------------------------
r28 | sally | 2003-01-07 21:48:33 -0600 (Tue, 07 Jan 2003) | 3 lines
…
如果你希望查看某個URL下面不同的多個路徑,你可以使用URL [PATH...]文法。
$ svn log http://svn.red-bean.com/repos/test/ foo.c bar.c
------------------------------------------------------------------------
r32 | sally | 2003-01-13 00:43:13 -0600 (Mon, 13 Jan 2003) | 1 line
Added defines.
------------------------------------------------------------------------
r31 | harry | 2003-01-10 12:25:08 -0600 (Fri, 10 Jan 2003) | 1 line
Added new file bar.c
------------------------------------------------------------------------
r28 | sally | 2003-01-07 21:48:33 -0600 (Tue, 07 Jan 2003) | 3 lines
…
當你想串連多個對日誌命令的調用結果,你會希望使用--incremental選項。svn log通常會在日誌資訊的開頭和每一小段間列印一行虛線,如果你對一段修訂版本運行svn log,你會得到下面的結果:
$ svn log -r 14:15
------------------------------------------------------------------------
r14 | ...
------------------------------------------------------------------------
r15 | ...
------------------------------------------------------------------------
然而,如果你希望收集兩個不連續的日誌資訊到一個檔案,你會這樣做:
$ svn log -r 14 > mylog
$ svn log -r 19 >> mylog
$ svn log -r 27 >> mylog
$ cat mylog
------------------------------------------------------------------------
r14 | ...
------------------------------------------------------------------------
------------------------------------------------------------------------
r19 | ...
------------------------------------------------------------------------
------------------------------------------------------------------------
r27 | ...
------------------------------------------------------------------------
你可以使用incremental選項來避免兩行虛線帶來的混亂:
$ svn log --incremental -r 14 > mylog
$ svn log --incremental -r 19 >> mylog
$ svn log --incremental -r 27 >> mylog
$ cat mylog
------------------------------------------------------------------------
r14 | ...
------------------------------------------------------------------------
r19 | ...
------------------------------------------------------------------------
r27 | ...
--incremental選項為--xml提供了一個相似的輸出控制。
提示
如果你在特定路徑和修訂版本運行svn log,輸出結果為空白
$ svn log -r 20 http://svn.red-bean.com/untouched.txt
------------------------------------------------------------------------
這隻意味著這條路徑在那個修訂版本沒有修改,如果從版本庫的頂級目錄運行這個命令,或者是你知道那個修訂版本修改了那個檔案,你可以明確的指定它:
$ svn log -r 20 touched.txt
------------------------------------------------------------------------
r20 | sally | 2003-01-17 22:56:19 -0600 (Fri, 17 Jan 2003) | 1 line
Made a change.
-------------------------------------------
更多SVN指令碼命令,請訪問:http://www.subversion.org.cn/svnbook/1.4/