如何使用svn log查找最后的签到?

时间:2012-05-23 19:31:18

标签: svn

我正在尝试使用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结果。必须有一个更简单的方法吗?

2 个答案:

答案 0 :(得分:2)

我经历过同样的事情。我通过在'svn log'之前做'svn up'来解决它。我的理解是,svn只列出它对服务器的了解,并且它不知道你的提交(它只是推送它们,它没有缓存它们)。

答案 1 :(得分: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”,我只会输入一个日志条目。我希望能够获得所有日志条目,然后我可以查看结果。

无论如何,请不要限制:

 svn log HEAD:1