基于芯驰 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   作者:好景虚设

更多资讯,请扫码关注我们!

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值