输入svn log会在命令行上输出一个长得令人难以置信的无用列表。我不知道为什么这是默认值。如果我想在终端上读取(甚至可以读取)300个条目,我不介意输入svn log——full或类似的东西。
也许SVN的人认为我想把输出提供给另一个程序。然而,如果是这样的话,对程序(而不是终端用户)进行更详细的调用会更有意义。
总之,我怎么能看到最近的活动,比如最近的5个或10个条目,看看有什么变化?
输入svn log会在命令行上输出一个长得令人难以置信的无用列表。我不知道为什么这是默认值。如果我想在终端上读取(甚至可以读取)300个条目,我不介意输入svn log——full或类似的东西。
也许SVN的人认为我想把输出提供给另一个程序。然而,如果是这样的话,对程序(而不是终端用户)进行更详细的调用会更有意义。
总之,我怎么能看到最近的活动,比如最近的5个或10个条目,看看有什么变化?
当前回答
为了补充其他人所说的,你也可以在你的.bashrc或.bash_aliases文件中创建一个别名:
alias svnlog='svn log -l 30 | less'
或者任何你想要的默认值
其他回答
正如您已经注意到的,不带任何参数的svn log命令将显示与您指定的URL或与您运行该命令的工作副本文件夹相关的所有日志消息。
您可以始终细化/限制svn日志结果:
svn log——limit NUM将只显示修订的第一个NUM, svn log——revision REV1(:REV2)将显示REV1修订或REV1——REV2范围的日志信息, svn log——search将显示与您指定的搜索模式匹配的版本(该命令可在Subversion 1.8和更新的客户端中使用)。你可以通过 修订的作者(即提交者的用户名), 修订提交日期: 修订注释文本(日志消息), 在修订中更改的路径列表。
为了补充其他人所说的,你也可以在你的.bashrc或.bash_aliases文件中创建一个别名:
alias svnlog='svn log -l 30 | less'
或者任何你想要的默认值
但是svn log仍然是相反的顺序,即最近的条目是先输出的,从我的终端顶部滚动并消失。我真的很想看到最后的条目,即排序顺序必须按时间顺序。唯一执行此操作的命令似乎是svn log -r 1:HEAD,但对于具有大约10000个条目的存储库来说,这花费的时间太长了。我想到了这个
按时间顺序显示最后10个subversion条目:
svn log -r $(svn log -l 10 | grep '^r[0-9]* ' | tail -1 | cut -f1 -d" "):HEAD
通过less或其他分页器输出:
svn log | less
限制选项,例如:
svn log --limit 4
svn log -l 4
只有最后4项