1、產生patch:
(1)純淨的代碼A_old,執行make distclean
(2)將A_old拷貝一份到B_new
(3)將修改的文件放入B_new中
(4)執行diff -uprN A_old B_new > mypatch,這樣是對多個文件打patch
對單個文件打patch:
diff -up orig_file new_file > mypatch
u 顯示有差異行的前後幾行(上下文), 默認是前後各3行, 這樣, patch中帶有更多的信息.
-p 顯示代碼所在的c函數的信息.
-r 遞歸地對比一個目錄和它的所有子目錄(即整個目錄樹).
-N 如果某個文件缺少了, 就當作是空文件來對比. 如果不使用本選項, 當diff發現舊代碼或者新代碼缺少文件時, 只簡單的提示缺少文件. 如果使用本選項, 會將新添加的文件全新打印出來作爲新增的部分.
2、添加patch的辦法:
(1)新的代碼C
(2)cd C
(3)patch -p1 < mypatch
p0表示從mypatch指示的開始路徑添加patch,p1表示忽略mypatch中的第一級目錄,p2表示忽略mypatch中的第二級目錄。
3、卸載patch
patch -p(n) -R < 【補丁包路徑,例如mypatch】