### 名稱
svn log ― 顯示提交日志信息。
### 概要
~~~
svn log [PATH]
~~~
~~~
svn log URL [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
--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.
------------------------------------------------------------------------
~~~
- 第1章介紹
- Subversion的歷史
- Subversion的特性
- Subversion的架構
- 安裝Subversion
- Subversion的組件
- 快速入門
- 第2章基本概念
- 版本模型
- Subversion實戰
- 摘要
- 第3章指導教程
- 導入
- 修訂版本: 號碼、關鍵字和日期,噢,我的!
- 初始化的Checkout
- 基本的工作周期
- 檢驗歷史
- 其他有用的命令
- 摘要
- 第4章分支與合并
- 使用分支
- 在分支間拷貝修改
- 常見用例
- 轉換工作拷貝
- 標簽
- 分支維護
- 摘要
- 第5章版本庫管理
- 版本庫的創建和配置
- 版本庫維護
- 添加項目
- 摘要
- 第6章配置服務器
- 網絡模型
- svnserve,一個自定義的服務器
- httpd,Apache的HTTP服務器
- 支持多種版本庫訪問方法
- 第7章高級主題
- 屬性
- Peg和實施修訂版本
- 外部定義
- 賣主分支
- 本地化
- Subversion版本庫URL
- 第8章開發者信息
- 使用API
- 進入工作拷貝的管理區
- WebDAV
- 使用內存池編程
- 為Subversion做貢獻
- 第9章Subversion完全參考
- svn add
- svn blame
- svn cat
- svn checkout
- svn cleanup
- svn commit
- svn copy
- svn delete
- svn diff
- svn export
- svn help
- svn import
- svn info
- svn list
- svn log
- svn merge
- svn mkdir
- svn move
- svn propdel
- svn propedit
- svn propget
- svn proplist
- svn propset
- svn resolved
- svn revert
- svn status
- svn switch
- svn update
- svnadmin
- svnadmin create
- svnadmin deltify
- svnadmin dump
- svnadmin help
- svnadmin hotcopy
- svnadmin list-dblogs
- svnadmin list-unused-dblogs
- svnadmin load
- svnadmin lstxns
- svnadmin recover
- svnadmin rmtxns
- svnadmin setlog
- svnadmin verify
- svnlook
- svnlook author
- svnlook cat
- svnlook changed
- svnlook date
- svnlook diff
- svnlook dirs-changed
- svnlook help
- svnlook history
- svnlook info
- svnlook log
- svnlook propget
- svnlook proplist
- svnlook tree
- svnlook uuid
- svnlook youngest
- svnserve
- svnversion
- mod_dav_svn Configuration Directives
- 附錄A.Subversion對于CVS用戶
- 目錄的版本
- 更多離線操作
- 區分狀態和更新
- 分支和標簽
- 元數據屬性
- 沖突解決
- 二進制文件和轉化
- 版本化的模塊
- 認證
- 轉化CVS版本庫到Subversion
- 附錄C.WebDAV和自動版本化
- 自動版本化交互性
- Subversion和DeltaV
- 術語表