允许保存比较标记的差异工具

6
有没有一种差异工具可以保存比较标记?
为了澄清,我想保存实际的两个文件比较结果,以显示差异并发送给某人进行审核。

编辑

这里有很多好的答案。在我的情况下,我已经拥有Beyond Compare的副本,但没有看到该选项。感谢John Saunders指出了这个功能。顺便说一下,它是“Session...Text Compare Report...”。

我的问题并不特别涉及Beyond Compare,所以我将接受目前得票最高的答案。

5个回答

14

WinMerge 是一款免费的工具,可以让您将差异以各种格式保存。它对我来说已经足够好用了,我不需要再寻找其他替代品,并且我喜欢它的价格。

如果您不能或不想安装它,还有一个便携版


3
也许提供一些如何操作的细节会很有用。我可能漏掉了一些东西,但在2.14.0.0版本中,我唯一看到的方法是通过工具-生成报告(只提供保存为HTML的选项)来完成这个操作。 - Steve Chambers
1
@SteveChambers 实际上有一种获取更实用内容的方法。由于某种原因,他们称之为“Patch”。单击“工具”,然后单击“生成补丁”,然后您将以文本格式获得两个文件的简单、可用差异。请参见我的答案 https://dev59.com/2V4b5IYBdhLWcg3wtjvY#48878453(同样使用版本2.14.0.0) - Clément
WinMerge 实际上是像“言论自由”一样免费的。它的源代码在那里,并且它受GNU通用公共许可证的约束。我认为这是一个重要的方面。 - Clément

5

如果您使用Unix系统,可以使用命令行diff来完成此操作,但是似乎您没有使用Unix系统。Cygwin提供了CLI diff,而Mac OS X则默认安装了它。

$ diff <file> <other file> > mydiff.txt

是的,我正在使用Windows。已更新问题。 :) - TWA

3

1
我实际上已经试用了Beyond Compare,但一开始没有看到这个选项。只需选择“会话...文本比较报告...”,就可以找到它了。Beyond Compare赢了。 :) - TWA

2
我使用Scintilla文本编辑器(SciTE)打开通过命令行或WinMerge生成的差异文件,然后导出RTF,它可以保留差异的颜色高亮显示。我特别在向内部发送短补丁进行审核时使用此方法,并且例如使用Outlook。
刚才我使用的过程如下:
# diff -U 1000 a.txt b.txt > diff.txt
# scite diff.txt
### Edit-Copy as RTF
### Paste into Outlook

WinMerge提供了通过“工具”->“生成补丁”菜单项实现此功能的功能。我在Windows上使用MSYS工具,因此经常运行GNU diff,但是一旦获得输出,如果您需要类似上面的内容,我会使用SciTE。

http://imagebin.ca/img/nBG25am.png


1

ExamDiff会在一个窗口中显示比较结果。它可以保存类Unix格式的差异版本。此外,该程序的文件对文件比较版本是免费的!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接