svn log
最后更新于:2022-04-02 05:58:15
### 名称
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.
------------------------------------------------------------------------
~~~
';