2009-10-30 160 views
18

在windows上,我有两个源文件,并且想要创建一个具有差异的修补程序,如this one。 但我不确定,这个补丁的格式是什么以及要使用哪个应用程序来创建它? GNU diff输出与我在上面的链接中看到的补丁非常不同。如何在Windows上创建补丁文件?

+0

用于Windows的UnixUtils软件包不适用于二进制文件。运行“diff -u oldfile newfile> patchfile”会给出一个带有一行文本的补丁文件,“二进制文件file1.mp3和file2.mp3不同”。 (无法添加评论,因为没有任何信誉点而被阻止,而不是用户友好!) – 2017-12-28 09:22:34

回答

14

输出格式被称为“统一差异”,它可以使用diff -u生成。

21

尝试WinMerge。您会在“工具”菜单中找到修补程序生成器。

+1

虽然OP在谈论源代码,这意味着他正在谈论文本文件,但我想添加WinMerge无法提供的信息为二进制文件生成补丁文件。 – Marged 2016-03-09 17:14:40

4

UnxUtils包为Windows提供了许多有用的Unix工具,对Windows安装(解压缩,添加位置到路径,使用它)影响最小。
它有一个diff.exe

20

谢谢,PhiLho &Lukáš!从UnxUtils diff程序工作在Windows 7下极大地生成补丁文件:

diff -u oldfile newfile >patchfile 

同样,来自UnxUtils补丁程序的伟大工程,以应用补丁:

patch -u oldfile patchfile 
6

WinMerge是最好的工具视窗。 要创建一个补丁文件,你需要做到以下几点:

 
File>Open 

- 在这里,您打开您正在生成补丁文件的文件。

 
Tools>Generate Patch 

- 在此处指定保存修补程序文件的路径。 WinMerge会为你保存补丁文件。

4

WinMerge(http://winmerge.org/)是你所需要的。您还可以将整个文件树与此工具进行比较,这对于某些人来说是绝对必需的。