如何将一个分支与另一个分支进行比较?我想比较一个分支与trunk中的最新版本。
答案 0 :(得分:62)
你可以从:
开始svn diff http://REPOS/trunk http://REPOS/branches/B
(http://REPOS
是您的存储库路径,包括trunk
和branches
的父级。)
这将打印大量文本,包括所有文本更改,但不包括二进制更改,除非说明它们发生的位置和时间。
答案 1 :(得分:4)
我通常会将两个分支(或分支和主干)签出到目录中。 然后我使用像Kompare或类似的图形工具(取决于您的喜好,操作系统,......)。 当我需要执行复杂的合并时,这对我很有帮助。
答案 2 :(得分:3)
由于缺乏声誉,我不会将此作为对现有答案的评论添加,我必须将其添加为单独的答案。
svn diff
给我的一个有用选项是--ignore-properties
。我的两个分支最终完成了相同的代码,但具有不同的合并历史。
使用--ignore-properties
允许我向自己证明这是事实,没有涉及大量的“svn:mergeinfo”属性更改。
答案 3 :(得分:1)
Here's the documentation用于svn diff
命令。
答案 4 :(得分:1)
感谢信息人员,我会添加一些东西来提高diff结果的可读性。如果您使用: svn diff svn:// url:9090 / branches / PRD_0002 svn:// url:9090 / branches / TST_0003> svn_diff_filename.txt
您可以使用: findstr“索引:”C:\ path \ svn_diff_filename.txt> svn_diff_file_list.txt
这将为您提供可读的文件列表,这些文件有任何差异。
答案 5 :(得分:0)
这是一个post from Murray Cumming,描述了非显而易见的过程:
svn diff -r123:145
答案 6 :(得分:0)
要在分支的两个修订版之间进行区分:
svn diff -r rLATEST:rOLD
使用svn log
获取不同的修订版。使用可以使用svn log -l 5
限制日志中的修订数量。只会显示最后5个修订版。