1.patch用法
patch -p[剝離層級]
2.patch命令示例
cd u-boot-1.1.6/ //進入原檔案目錄為什麼需要輸入-p1?如下圖所示,可以看到補丁檔案裡,每個需要改的檔案,都有u-boot-1.1.6目錄,而我們之前已經cd進入了,所以需要輸入-p1,去掉它patch -p1 <..>
//「p」 表示去掉補丁檔案裡路徑的第幾部分。"1",表示去掉第1個
//「// 「../」 表示返回上乙個目錄,因為這補丁檔案和原檔案在同一目錄下
3.patc**件內容補充
diff -urn u-boot-1.1.6/common/cmd_bootm.c u-boot-1.1.6_jz2440/common/cmd_bootm.c //綠色代表原檔名以及檔案位址,紅色代表打上補丁後的新檔名以及位址4.diff常用引數5.diff命令示例--- u-boot-1.1.6/common/cmd_bootm.c 2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/common/cmd_bootm.c 2010-11-26 12:54:38.150155640 +0800
//--- 對檔案裡**刪減 +++ 對檔案裡**新增
@@ -318,5 +318,5 @@ //-318,5 表示在原檔案裡第318行內有刪減,接下來顯示5段。+318,5同樣類似
//第318行,第一段
switch (hdr->ih_comp) { //第319行,第二段
case ih_comp_none: //第320行,第三段
- if(ntohl(hdr->ih_load) == addr) { //第321行,刪減第四段
+ if(ntohl(hdr->ih_load) == data) { //第322行,增加第五段
diff -urn u-boot-2012.04.01 u-boot-2012.04.01_new > u-boot-2012.04.01_new.patch當乙個檔案有多個補丁需要打,則使用for迴圈批處理命令比如,在tmp/目錄下打上../patches/目錄下的所有補丁檔案:原檔案修改後的新檔案
cd tmp/for file in ../patches/*.patch; do patch -p1 < $file; done
Linux下生成patch和打patch
通過diff工具生成補丁,patch工具打上補丁.在使用diff之前,你需要保留乙份未修改過的原始碼,然後在其它地方修改原始碼的乙份拷貝.diff對比這兩份原始碼生成patch.修改過的原始碼必須保留原來的檔名,例如,如果你修改原始碼中的a.c檔案,那麼,修改後的檔案還是名為a.c,在修改之前你可以...
Linux下生成patch和打patch
在使用diff之前,你需要保留乙份未修改過的原始碼,然後在其它地方修改原始碼的乙份拷貝.diff對比這兩份原始碼生成patch.修改過的原始碼必須保留原來的檔名,例如,如果你修改原始碼中的a.c檔案,那麼,修改後的檔案還是名為a.c,在修改之前你可以複製a.c為a.orig.c進行備份.1 diff...
Linux下生成patch和打patch
在使用diff之前,你需要保留乙份未修改過的原始碼,然後在其它地方修改原始碼的乙份拷貝.diff對比這兩份原始碼生成patch.修改過的原始碼必須保留原來的檔名,例如,如果你修改原始碼中的a.c檔案,那麼,修改後的檔案還是名為a.c,在修改之前你可以複製a.c為a.orig.c進行備份.diff u...