2009-10-30 61 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/)是你所需要的。您還可以將整個文件樹與此工具進行比較,這對於某些人來說是絕對必需的。