Tortoise从命令行 svn 获取带有用户名和修订信息的未完成合并列表



在TortoiseSVN中合并时(例如,从发布分支到主干),有一个"显示日志"选项来选择要合并的修订。这将以黑色显示所有未完成的合并,所有已完成的合并都显示为灰色。

我基本上希望从Windows中的命令行使用相同的功能:能够从我的发布分支到主干检索所有未完成(合格)合并的列表,包括修订号,修订日期,用户名,修订消息以及可能的文件本身。

我可以从我的 trunk 文件夹中使用以下命令来获取合格(未完成)修订的列表:

>svn mergeinfo http://svn.example.com/svn/myProject/branches/1.0 --show-revs eligible
r1001
r1002
r1006

但这实际上只输出修订号列表。

我可以手动将这些修订键入日志命令,这给了我想要的信息:

>svn log http://svn.example.com/svn/myProject/branches/1.0  -r 1006
------------------------------------------------------------------------
r1006| rob| 2012-06-13 17:55:37 +0100 (Wed, 13 Jun 2012) | 1 line
Updated code documentation
------------------------------------------------------------------------

如何有效地将这两者结合起来?

我认为--log将解决您的问题,

SVN 合并信息 http://svn.example.com/svn/myProject/branches/1.0 --显示-修订合格 --log

如果您想了解更多信息,请尝试 -v 选项。

我找到了一个解决方案,涉及将svn mergeinfo的输出重定向到文件中,并使用它来驱动svn log命令:

svn mergeinfo http://svn.example.com/svn/myProject/branches/1.0--show-revs eligible > revs.txt
FOR /F %k in (revs.txt) DO svn log http://svn.example.com/svn/myProject/branches/1.0 -r %k -v
DEL revs.txt

这做了我想要的 - 但我确定我以前已经看到它直接通过 svn 命令行完成。

最新更新