【发布时间】:2012-03-21 03:27:15
【问题描述】:
有时我想重新审视我不久前提交给 SVN 的更改,但不记得涉及的具体文件或修订号。所以我想查看最近提交消息的列表,最好包括每个提交中包含的文件。
我想转到我的工作副本的根目录并输入类似以下内容以查看与最近 5 次提交相关的消息和文件:
svn log -l5 -v *
很遗憾,此命令需要一个目标,并且不接受“*”。我知道 SVN 有我想要的信息。有没有简单的找回方法?
【问题讨论】:
有时我想重新审视我不久前提交给 SVN 的更改,但不记得涉及的具体文件或修订号。所以我想查看最近提交消息的列表,最好包括每个提交中包含的文件。
我想转到我的工作副本的根目录并输入类似以下内容以查看与最近 5 次提交相关的消息和文件:
svn log -l5 -v *
很遗憾,此命令需要一个目标,并且不接受“*”。我知道 SVN 有我想要的信息。有没有简单的找回方法?
【问题讨论】:
您可以使用svn log -l5 -v <URL of your repository>。 svn info 可用于获取您的工作副本连接到的存储库的根 URL。
【讨论】:
svn log的输出被过滤到wc连接的子路径。
svn log -q -v --limit N inside working copy(你有 WC,不是吗?!)将显示 short list 最近 N 次提交 with commit-message (mea culpa, -q supress commit-message output) 和文件
日志输出示例 - 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
------------------------------------------------------------------------
提交消息的Secong日志(删除-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 签出 repo 并 svn 登录 WC-rot,结果根本不会不同
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
【讨论】:
对于 TortoiseSVN 用户:
TortoiseSVN > Show log
出现日志窗口。
Shift,然后选择您感兴趣的最后一个日志(Ctrl + A 全选。或者您可以使用Ctrl 选择方法)。Copy to clipboard > Messages
提交消息的日志被复制到您的剪贴板。
Ctrl + v)。根据需要保存文件。【讨论】:
svn log -l5 -v http://99.9.9.999/repos/reposName
// This will show you only last 5 commit records
svn log -q -v http://99.9.9.999/repos/reposName
// This will show you all the commit records
【讨论】: