跟著本文的步驟操作一下,肯定能掌握diff&patch用法,基本上使用diff時就是"diff -naur from to"(from, to為變數)這樣的固定打法,然後在使用patch的時候,先看看補丁檔案的大致內容,結合當前目錄以確定需要跳過的目錄數,然後套用"patch -pn < patch.file"(n為變數)即可。
-------------------
總結一下:
單個檔案
diff –un from-file to-file >to-file.patch
patch –p0 < to-file.patch
patch –re –p0 < to-file.patch
多個檔案
diff –unr from-docu to-docu >to-docu.patch
patch –p1 < to-docu.patch
patch –r –p1
應用 為核心打補丁。前面在建立交叉編譯工具鏈時,其中有一步就是為核心打補丁。當時還不是特別了解,現在很清晰了。參考前面的文章《基於arm+linux嵌入式開發的開發工具鏈的建立》。
1、首先是解壓,因為發布的補丁檔案都是使用gzip壓縮的。
$gunzip ../setup-dir/ patch-2.4.21-rmk1.gz
2、然後進入你的核心源**目錄
$cd linux-2.4.21
3、打補丁
$patch –p1 < ../../setup-dir/patch-2.4.21-rmk1
打完補丁後,需要檢查一下有沒有拒絕執行的檔案,即檢查.rej檔案的存在。使用命令:
$find . -name *.rej
如果發現,會將其輸出到標準輸出終端,預設螢幕。當然,你也可以採用重定向,輸出到指定檔案,比如reject。
$fine . -name *.rej >reject
然後可以檢視reject的內容了。
生成patch和打patch
單個檔案 diff un ori file mdf file mdf file.patch 生成patc 件 patch p0 mdf file.patch 將patch修改應用到源 patch re p0 mdf file.patch 回退patch的修改多個檔案 diff unr ori dir...
生成patch和打patch總結
git生成patch和打patch 方法1.git diff x mypatch patch p1 mypatch 方法二.單個commit git format patch 1 1bbe3c8c197a35f79bfddaba099270a2e54ea9c7 把patch檔案拷貝到git同目錄下 ...
Linux下生成patch和打patch
通過diff工具生成補丁,patch工具打上補丁.在使用diff之前,你需要保留乙份未修改過的原始碼,然後在其它地方修改原始碼的乙份拷貝.diff對比這兩份原始碼生成patch.修改過的原始碼必須保留原來的檔名,例如,如果你修改原始碼中的a.c檔案,那麼,修改後的檔案還是名為a.c,在修改之前你可以...