博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
diff/patch
阅读量:6253 次
发布时间:2019-06-22

本文共 807 字,大约阅读时间需要 2 分钟。

使用diff/patch为代码打补丁

1.diff的使用
diff可以完成比较功能,生成补丁文件
格式::diff [option] oldfile newfile
常用的option选项有:
-r 对目录进行递归处理
-u 输出统一格式,diff有"传统"和"统一"两种格式,现在一般使用"统一"格式,比较而言,统一格式生成的文件大,但包含了更多的信息,有利于阅读与定位
-N 补丁中包含整个新文件
-a 补丁中包含二进制文件
缺省时,diff向标准输出打印,所以一般都重定向到文件并以patch为后缀,也就是所谓的补丁文件
举例:
/* oldfile hello.c */
void main()
{
printf("hello the world! ");
}

/* newfile hello-new.c */
void main()
{
printf("HELLO THE WORLD! ");
}

使用以下命令生成补丁文件hello.patch

$diff -u hello.c hello-new.c >hello.patch

diff可以对整个目录进行比较,生成补丁文件
例如有hello-1.0 和hello-1.1两个目录,其中hello-1.1为hello-1.0的更新
命令:
$diff -ruNa hello-1.0 hello-1.1 >hello-1.1.patch

2.patch的使用
把补丁运用到原代码上的命令为patch
patch [-b] suffix

如果patch失败,patch会把成功的行打上补丁,失败的行存为以.rej为后缀的文件折,并生成原文件的备份,如果成功则不生成备份。 -b选项可以指定后缀名。

注意:运行patch所在的目录应该与用diff生成补丁的时候一致。例如,上面在hello-1.0目录的上层目录生成补丁文件,patch时也应该在此目录进行

转载地址:http://saysa.baihongyu.com/

你可能感兴趣的文章
Centes7 使用 xshell 登陆
查看>>
TestNG源代码分析:依赖管理的实现
查看>>
VMWare 安装时报错 tools-windows.msi failed报错解决办法
查看>>
java一些面试题
查看>>
如何使用dll和lib
查看>>
干货型up主
查看>>
文件与二进制流互转
查看>>
获取页面中所有dropdownlist类型控件
查看>>
【转自ITPUB】SYNONYM关于underlying table权限的小小发现
查看>>
halcon图像合并(贴图到指定位置)
查看>>
stark组件(2):提取公共视图函数、URL分发和设置别名
查看>>
android——使用Interceptor设置缓存来给服务器减负
查看>>
样式独立性的解决方案
查看>>
刷leetcode是什么样的体验?【转】
查看>>
linux内核数据结构之kfifo【转】
查看>>
c++学习笔记(新手学习笔记,如有错误请与作者联系)
查看>>
java集合复制和反转
查看>>
记录openlaw的反爬
查看>>
Matlab数据转化至python端,并写入数据库
查看>>
json字符串与json对象的相互转换
查看>>