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

时间:2012-06-14 08:36:48

标签: svn tortoisesvn

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

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

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

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

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

我可以手动将这些修订键入log命令,这样就可以得到我想要的信息:

>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

------------------------------------------------------------------------

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

2 个答案:

答案 0 :(得分:1)

我找到了一个解决方案,涉及将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命令行直接看到了它。

答案 1 :(得分:0)

我认为--log会解决你的问题,

svn mergeinfo http://svn.example.com/svn/myProject/branches/1.0 - show-revs qualified --log

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