1、关于diff和patch的理解
diff:是对两个集合的差运算
patch:是对两个集合的和运算
2、diff如何生成补丁文件
diff A B > C
表达了C= A-B;A 表达了原始文件,B 表示修改后的文件。 C 表示补丁文件
由于历史原因,diff有三种格式:
- 正常格式(normal diff)
- 上下文格式(context diff)
- 合并格式(unified diff)
我们依次来看
参数说明:
-c :更详细的格式,可以标识出不同环境的上下文
-r: 是一个递归选项,设置了这个选项,diff会将两个不同版本源代码目录中的所有对应文件全部都进行一次比较,包括子目录文件
-n:选项确保补丁文件将正确地处理已经创建或删除文件的情况
-u:选项以统一格式创建补丁文件,这种格式比缺省格式更紧凑些
3、patch如何将补丁打入目标文件
打补丁
patch A C
得到了B 即A 转换为了B 文件
补丁还原
patch -R B C