2009-07-10 44 views
6

是否有diff工具可以保存比较标记?Diff工具,允许保存比较标记

为了澄清,我想保存显示差异的两个文件的实际比较,以发送给某人进行审阅。


编辑

很多好的答案在这里。在我的情况下,我已经有了Beyond Compare的副本,但没有看到选项。感谢John Saunders指出该功能。这是“会话...文本比较报告...”顺便说一句。

我的问题并不是专门关于Beyond Compare,所以我将接受当前拥有最多选票的答案。

回答

13

WinMerge是免费的,并允许您保存各种格式的差异。它对我来说足够好,不需要在别处寻找,我喜欢这个价格。

如果您不能或不想安装它,还有一个portable version

+2

也许关于如何做到这一点的一些细节可能会有用。我可能会错过某些东西,但在版本2.14.0.0中,我可以看到的唯一方法是通过“工具 - 生成报告”(它只能提供保存为HTML的选项)。 – 2015-11-19 11:03:06

+1

@SteveChambers实际上有一种方法可以获得更多可用的东西。出于某种原因,他们称之为“修补程序”。点击“工具”,然后点击“Generare Patch”,然后您将获得文本格式的两个文件的简单可用差异。参看我的答案在https://stackoverflow.com/a/48878453/2657549(使用版本2.14.0.0以及) – 2018-02-20 05:31:42

+0

[WinMerge](http://winmerge.org/downloads/source-code.php)实际上是免费的在“言论自由”中。它的源代码[在那里](http://winmerge.org/downloads/source-code.php),它在[GNU通用公共许可证](http://www.gnu.org/licenses/gpl- 2.0.html)。我认为这是一个重要方面。 – 2018-02-21 20:59:02

2

我使用Scintilla Text Editor(SciTE)打开由命令行或WinMerge生成的diff文件,然后导出RTF,并保留差异的颜色突出显示。特别是在通过电子邮件发送简短的补丁以供内部审查时,我使用这种方法,例如,我使用Outlook。

我刚才作为例子使用的方法:

# diff -U 1000 a.txt b.txt > diff.txt 
# scite diff.txt 
### Edit-Copy as RTF 
### Paste into Outlook 

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

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

4

如果您使用的是Unix,那么您可以使用命令行diff来完成此操作,尽管听起来好像不是。 Cygwin确实带来了一个CLI差异,而Mac OS X也随附了它。

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

ExamDiff确实这是在窗口显示的比较。它可以保存一个类Unix的格式化版本的差异。此外,该程序的文件到文件比较版本是免费的!