基於芯馳 X9E PTG4.3 的 patch 生成和使用

       以前不使用 patch 時,在調試過程中,為了保證不出問題,每個客戶的問題,我都會完整的進行一遍源碼下載,修改,編譯的過程,這不僅使用巨量的時間去下載源碼、編譯,還會占用大量的磁盤空間,尤其是 android 源碼,每個客戶都需要占用大約 400G 左右的空間,十分的占用資源,這裡使用 repo 工具,生成 patch,再使用 patch 打補丁,退回補丁的方式,記錄下自己的修改,減少時間服務器的資源占用。

一、repo status 查看當前代碼狀態

1.1使用 repo status 查看當前代碼狀態

repo status

1.2 由上截圖可以看出,有 5 個目錄下的代碼文件發生了改變

(1)freertos_safetyos/

(2)lk_boot/chipdev/

(3)lk_boot/exdev/

(4)lk_boot/hal/

(5)lk_boot/target/


二、repo diff 查看代碼改動

2.1 使用 repo diff + 目錄,可以查看目錄下的具體修改,比如 1.2 中 5 個路徑都可以。

repo diff freertos_safetyos/

 

三、生成 patch 文件

3.1 使用 repo diff 結合 >/>> 命令可以把具體修改生成 patch 文件。

repo diff freertos_safetyos/ >> 1.freertos_safetyos.patch

 

3.2 打開文件查看是否生成了相應內容。
 

四、patch -p xx.patch 命令打補丁

4.1 把 patch 補丁文件傳輸到補丁中對應的 project 中才能用作打補丁。

4.2 使用 patch 打補丁到 freertos_safety

(1)為了對比,我這裡先去掉 freertos_safety/ 目錄之前的修改,repo status 可以看到已經沒有 freertos_safety/ 了。

 repo_status

(2)然後把剛才製作的 1.freertos_safetyos.patch copy 到 freertos_safety/ 目錄中去運行 patch 命令打補丁。

cp 1.freertos_safetyos.patch freertos_safetyos/
cd freertos_safetyos/
patch -p1 < 1.freertos_safetyos.patch


或者使用相對路徑也可以。

patch -p1 < ../1.freertos_safetyos.patch

(3)確認是否打上 patch 補丁

 repo status

可以看到,包括 copy 進去的 1.freertos_safetyos.patch 的補丁文件,都被記錄在 repo status 中了。

五、恢復初始代碼

“4.2 使用 patch 打補丁到 freertos_safety” 的(1)章節中,我去掉了之前修改,這是如何做到的呢,請參考如下命令。

 5.1 恢復指定目錄的初始代碼

repo forall freertos_safetyos/ -c 'git reset --hard && git clean -fdx'

這裡恢復了 freertos_safetyos/ 的初始代碼,所以如 4.2 (1)中看到的,repo status 中不再有 freertos_safetyos/ 目錄中的記錄了。

5.2 恢復全部目錄下的初始代碼

(1)首先查找並生成所有當前目錄下的差異文件,並生成 patch。

(2)使用 repo forall -vc "git reset --hard" 命令恢復全部目錄下的初始代碼

repo status
repo forall -vc "git reset --hard"
repo status

六、總結

       本文基於芯馳 X9E PTG4.3 的工程,使用 repo 工具,生成 patch,再使用 patch 打補丁,退回補丁的方式,記錄下自己的修改,減少時間服務器的資源占用。


七、參考資料

[1]《X9_SDK_用戶手冊_Rev1.7》


芯馳 X9系列相關博文:

     《基於芯馳 X9HP PTG4.1 修改 UART10 作為 linux 串口輸出》

     《基於芯馳 X9E PTG4.3 添加 PMU CTRLx 的控制驅動》

     《基於芯馳 X9M PTG4.3 添加 I2C3, I2C4 資源到 android》


歡迎在博文下方留言評論,我們會及時回復您的問題。

如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com   
作者:好景虛設


更多資訊,請掃碼關注我們!


★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論