svn - 如何查看最新SVN日志条目?

输入svn log会在命令行上输出一个非常长的无用列表,

如何查看最近的活动(例如,最近的5或10个条目)以查看发生了什么变化?

时间:

以下是使用此选项显示修订范围的一些实际例子:

按升序列出所有内容:


svn log -r 1:HEAD

按降序列出所有内容:


svn log -r HEAD:1


svn log -r 13:BASE

要在给定日期之间完成所有操作:


svn log -r {2011-02-02}:{2011-02-03}

可以将上面的所有表达式与--limit选项结合使用,因此可以对打印的内容进行非常细粒度的控制。

我喜欢将-v用于详细模式,


svn log -v --limit 4

输出例子:


I added some migrations and deleted a test xml file
------------------------------------------------------------------------
r58687 | mr_x | 2012-04-02 15:31:31 +0200 (Mon, 02 Apr 2012) | 1 line Changed
paths: 
A /trunk/java/App/src/database/support 
A /trunk/java/App/src/database/support/MIGRATE 
A /trunk/java/App/src/database/support/MIGRATE/remove_device.sql
D /trunk/java/App/src/code/test.xml

除了其他人所说的,你还可以在bashrc或bash_aliases文件中创建一个别名:


alias svnlog='svn log -l 30 | less'

一个便捷的命令,查看自上次更新以来的更改:

svn log -r $(svn info | grep Revision | cut -f 2 -d ' '):HEAD -v

你可以始终优化/限制svn log结果:

  • svn log --limit NUM将只显示修改的第一个数量,
  • svn log --revision REV1(:REV2)将显示REV1修订版或REV1 REV2范围的日志消息,
  • svn log --search将显示与你指定的搜索模式匹配的修订,你可以搜索
    • 修订版(即提交者用户名)的作者
    • 提交修订的日期,
    • 修订注释文本(日志消息),
    • 修订中更改的路径列表。

...