向念freetree

念念不忘 必有回响

patch diff 补丁文件

diff 和 patch 是一对工具,使用这对工具可以获取更新文件与历史文件的差异,并将更新应用到历史文件上。在数学上说,diff就是对两个集合的差运算,patch就是对两个集合的和运算。在数学上我们知道: A - B = C, 这样我们知道 A、B、C中任意两个数都可以得到第三个数:
下面我们以linux-3.0内核举例说明:
如下图所示,linux目录下有从官网下载的内核源码linux-3.0还有经过自己DIY重新改过的linux内核linux-3.0.changed


通过diff命令,生成自己命名的补丁文件。
diff —Nuar linux-3.0 linux-3.0-changed > linux-3.0-patch



此时三个文件的关系是:
linux-3.0  + linux-3.0-patch =linux-3.0-changed

保存patch补丁后,每次只需使用如下命令,就能给文件打上补丁 :

patch -p0 <linux-3.0-patch

patch -p1 <../linux-3.0-patch
两个命令的区别如图:


-R能将打过补丁的文件还原:
patch -R -p0 < linux-3.0-patch

再一次牢记这四个命令
diff  -Nuar linux-3.0 linux-3.0-changed > linux-3.0-patch
patch -p0 <linux-3.0-patch
patch -p1 <../linux-3.0-patch
patch -R -p0 < linux-3.0-patch

阅读更多
个人分类: apue
上一篇git push常见问题罗列
下一篇fl2440最小系统移植梳理
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭