1

我正在尝试使用 svn 来查找使用“svn log”的签入,但似乎 svn log 以某种方式受到限制。我从源代码树的根目录开始,执行“svn log -l 10”,它为我提供了修订版 958 - 949 的修订信息。但是,如果我执行“svn log -r HEAD:900 -l 10”,我得到修订版 998 - 989 的修订版信息。这是为什么呢?对我来说似乎倒退了-“svn log -l 10”应该给出最新的10,对吗?为什么我需要所有其他参数才能完成这项工作?如果我执行“svn log -r HEAD”,我只会得到一个日志条目。我希望能够获取所有日志条目,然后我可以 grep 结果。一定有更简单的方法吗?

4

2 回答 2

2

我也经历过同样的事情。我通过在“svn log”之前执行“svn up”来解决它。我对此的理解是,svn 只会列出它对服务器的了解,而不知道您的提交(它只推送它们,它没有缓存它们)。

于 2012-05-23T19:38:50.427 回答
0
~$ svn help log
log: Show the log messages for a set of revision(s) and/or file(s).
usage: 1. log [PATH]
       2. log URL[@REV] [PATH...]

  1. Print the log messages for a local PATH (default: '.').
     The default revision range is BASE:1.

因此,按照设计,它从BASE. 如果您使用路径,则不会。 HEAD

  2. Print the log messages for the PATHs (default: '.') under URL.
     If specified, REV determines in which revision the URL is first
     looked up, and the default revision range is REV:1; otherwise,
     the URL is looked up in HEAD, and the default revision range is
     HEAD:1.

如果我执行“svn log -r HEAD”,我只会得到一个日志条目。我希望能够获取所有日志条目,然后我可以 grep 结果。

无论如何,不​​要限制:

 svn log HEAD:1
于 2012-05-23T19:57:23.860 回答