制作补丁,可以不用手动修改
diff 和 patch 在99%的时间里,我们只会用到几个选项。
diff
diff [option] from to
简单说,diff 就是比较两个文件的不同,然后记录下来
语法格式: diff 【选项】 源文件(夹) 目的 ——“升级”
常用选项:
-r 递归
-N if a file is found in only one directory, treat it as present but empty in the other directory
-u unified 统一的
单个文件
diff –uN from-file to-file >to-file.patch
patch –p0 < to-file.patch
patch –RE –p0 < to-file.patch
patch
patch -pnum <patchfile
patch 就是利用diff 制作的补丁来实现源文件(夹) 和 目的文件(夹) 的转换
实例说明:
--- old/modules/pcitable Mon Sep ...
--- new/modules/pcitable Tue Dec ...
-p0 表示从当前目录找一个叫做old的文件夹, 在他下面找到modules 下的pcitable 文件来执行patch
-p1 就表示忽略第一层目录(不管old ),从当前目录寻址modules。。。
而diff 补丁文件可以放置在任意位置 只要指明 diff补丁文件的路径就可以了。相对绝对路径都可以。