diff和patch给源码做补丁

来源:互联网 发布:淘宝哪家螺蛳粉好吃 编辑:程序博客网 时间:2024/04/30 12:46

如果想要对两个目录下的所有文件做diff,可以使用以下命令:

  1. $ diff -BurN [org-src-dir] [target-src-dir] > [patch-file]  

 

其中-B可以忽略所有的空白行,-r对所有的子目录进行递归的操作。[org-src-dir]是未经修改前的源文件目录,[target-src-dir]是修改后的源文件目录。注意:最后生成的patch文件是用来作用到[org-src-dir]的内容。

 

使用patch来对[org-src-dir]打补丁,对其进行内容变更:

  1. $ patch -p[N] < [patch-file]  

 

这儿的[N]跟执行命令时所处的目录有关,如果此时[org-src-dir]是当前目录的一级子目录,则N=0。假设当前目录是[org-src-dir],那么N=1,以此类推。