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