在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 命令行完成。