### 名称 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. ------------------------------------------------------------------------ ~~~