0
我正嘗試使用diff工具創建修補程序文件,但遇到問題。 我已創建了一個名爲目錄中,並把原來的文件到它:如何處理此修補程序問題
- A/original_file.c
我已經創建了一個名爲B以外的目錄,並把同樣的文件與它修改的內容。
- B/original_file.c
我已經複製從互聯網的B/original_file.c文件的內容並把它放入一些文本編輯器。
發出命令diff -Naur a b > patch_file.patch
後,我可以看到patch_file.patch
已生成,並且它有一些不需要的更改(它與縮進有關)。
例如:
return msg (MSG_NOTIFY, &msg, senr,
- sizeof (struct msgotify));
+ sizeof (struct msgotify));
你可以看到有改變相關的壓痕,其中sizeof (struct msgotify))
由壓痕的相同sizeof (struct msgotify))
而是一個基礎這是我們不想要的東西所取代。
有誰能讓我知道如何擺脫這個問題??
Thansk @Jonathan,所以我的命令會diff - 是否-b a b?我的新補丁文件將有b/original_file.c的indendation? –
是的,你可以使用'diff -Naur -b'或者將它與其他標誌'diff -Naurb'結合使用。由於修補程序文件不包含任何只有間距不同的行,因此會發生什麼情況取決於您如何應用修補程序。由於該補丁將'a'轉換爲'b',因此如果將補丁應用於'a'中的文件,則會得到包含與'a'相同間距的行的結果,因爲您沒有支付注意間距的差異。如果你在'b'文件中反向應用了這個補丁,你可以在'a'中得到這個文件,但是文件'b'的間距爲那些沒有明確改變的行。 –
你建議的選項對我來說工作得很好,我只能看到修改後的補丁文件,但是當應用這個補丁文件時,我得到的錯誤並不是早些時候出現的。 –