我正在寻找的是:
svn diff a b
重复所有文件:
svn blame b/file
(手动检查衍射线上的转速)
svn log -rALL_REV_S_FOUND
E.g。
svn diff a b --list_commits
想要输出,例如
------------------------------------------------------------------------
rXXXXX | user | 2010-11-16 14:28:28 +0100 (Tue, 16 Nov 2010) | A line
Comment Q
------------------------------------------------------------------------
rXXXXZ | user | 2010-11-16 14:28:28 +0100 (Tue, 16 Nov 2010) | B line
Comment W
------------------------------------------------------------------------
rXXXXY | user | 2010-11-16 14:28:28 +0100 (Tue, 16 Nov 2010) | C line
Comment E
等......
为了澄清更多(Git和SVN因此根本不同。):
git log master..branch
可以读作
获取之间的更改列表 当前分支和主分支
答案 0 :(得分:0)
尝试使用svn2cl,如果你将它提供给分支(或主干)上的修订版,它将生成你正在寻找的日志。
答案 1 :(得分:0)
像svn mergeinfo --show-revs eligible ^/trunk ^/branches/foo
这样的命令可以为您提供所需的信息。正如您在the manual中所看到的,这将打印一个修订号列表。您可以使用某些脚本将这些内容传递给svn log
,以获得您正在寻找的输出类型。
但您可能会发现svn mergeinfo
不如git log
可靠。根据我对svn 1.6的体验,如果合并只发生在^/trunk
到^/branches/foo
,那就没问题。如果您的合并更复杂(例如,在两个方向上,或从第三个分支到trunk
和foo
,或从/到子目录),svn可能会变得混乱,并且会夸大分支之间的差异(即它会告诉你修改还没有合并,实际上他们已经)。有时可以通过hacks like this来解决混淆。