如何获取所有最近的SVN提交消息的列表?

问题描述 投票:56回答:4

有时我想重新审视我在短时间内对SVN做出的更改,但不要回想起涉及的具体文件或修订版号。所以我希望看到最近提交消息的列表,理想情况下包括每个提交中包含的文件。

我想到了我工作副本的根目录并输入如下内容,以查看与最近5次提交相关的消息和文件:

svn log -l5 -v *

不幸的是,这个命令需要一个目标,并且不接受'*'。我知道SVN有我想要的信息。有一种简单的方法来检索它吗?

svn history
4个回答
71
投票

你可以使用svn log -l5 -v <URL of your repository>svn info可用于获取工作副本所连接的存储库的根URL。


19
投票

svn log -q -v --limit N里面的工作副本(你有WC,不是吗?!)将显示最新的N提交的短名单 with commit-message (mea culpa,-q supress commit-message输出)和仅文件

日志输出示例 - repo

>svn log -q -v http://mayorat.ursinecorner.ru:8088/svn/Hello/ -l 5
------------------------------------------------------------------------
r33 | lazybadger | 2012-02-28 16:10:41 +0600 (Вт, 28 фев 2012)
Changed paths:
   M /trunk/Hello.en.txt
------------------------------------------------------------------------
r32 | lazybadger | 2011-12-27 17:37:31 +0600 (Вт, 27 дек 2011)
Changed paths:
   M /trunk/Hello.de.txt
   M /trunk/Hello.en.txt
------------------------------------------------------------------------
r31 | lazybadger | 2011-12-27 17:29:00 +0600 (Вт, 27 дек 2011)
Changed paths:
   M /trunk/Hello.de.txt
   M /trunk/Hello.en.txt
   M /trunk/Hello.fr.txt
------------------------------------------------------------------------
r30 | lazybadger | 2011-10-19 16:23:52 +0600 (Ср, 19 окт 2011)
Changed paths:
   M /trunk
------------------------------------------------------------------------
r29 | lazybadger | 2011-10-19 16:18:43 +0600 (Ср, 19 окт 2011)
Changed paths:
   M /trunk
------------------------------------------------------------------------

提交消息的第二个日志(已删除-q -v)

>svn log http://mayorat.ursinecorner.ru:8088/svn/Hello/ -l 5
------------------------------------------------------------------------
r33 | lazybadger | 2012-02-28 16:10:41 +0600 (Вт, 28 фев 2012) | 1 line

One more change
------------------------------------------------------------------------
r32 | lazybadger | 2011-12-27 17:37:31 +0600 (Вт, 27 дек 2011) | 1 line

Cleanups
------------------------------------------------------------------------
r31 | lazybadger | 2011-12-27 17:29:00 +0600 (Вт, 27 дек 2011) | 1 line

Purification
------------------------------------------------------------------------
r30 | lazybadger | 2011-10-19 16:23:52 +0600 (Ср, 19 окт 2011) | 1 line

Try fix FS #2
------------------------------------------------------------------------
r29 | lazybadger | 2011-10-19 16:18:43 +0600 (Ср, 19 окт 2011) | 1 line

如果我从root和wv登录WC-rot签出repo,结果将完全不同

Hello>svn log -q -v -l 5
------------------------------------------------------------------------
r33 | lazybadger | 2012-02-28 16:10:41 +0600 (Вт, 28 фев 2012)
Changed paths:
   M /trunk/Hello.en.txt
------------------------------------------------------------------------
r32 | lazybadger | 2011-12-27 17:37:31 +0600 (Вт, 27 дек 2011)
Changed paths:
   M /trunk/Hello.de.txt
   M /trunk/Hello.en.txt
------------------------------------------------------------------------
r31 | lazybadger | 2011-12-27 17:29:00 +0600 (Вт, 27 дек 2011)
Changed paths:
   M /trunk/Hello.de.txt
   M /trunk/Hello.en.txt
   M /trunk/Hello.fr.txt
------------------------------------------------------------------------
r30 | lazybadger | 2011-10-19 16:23:52 +0600 (Ср, 19 окт 2011)
Changed paths:
   M /trunk
------------------------------------------------------------------------
r29 | lazybadger | 2011-10-19 16:18:43 +0600 (Ср, 19 окт 2011)
Changed paths:
   M /trunk

2
投票

对于TortoiseSVN用户:

  1. 浏览到存储库文件夹并右键单击。
  2. 选择TortoiseSVN> Show log

出现日志窗口。

  1. 选择第一个日志并按住Shift并选择您感兴趣的最后一个日志(Ctrl + A以选择全部。或者您可以使用Ctrl选择方法)。
  2. 右键单击所选条目,然后选择Copy to clipboard> Messages

提交消息的日志将复制到剪贴板。

  1. 打开记事本或记事本++并粘贴日志(Ctrl + v)。根据需要保存文件。

-1
投票
  1. svn log -l5 -v http://99.9.9.999/repos/reposName // This will show you only last 5 commit records
  2. svn log -q -v http://99.9.9.999/repos/reposName // This will show you all the commit records
© www.soinside.com 2019 - 2024. All rights reserved.