免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1440 | 回复: 0
打印 上一主题 下一主题

用diff/patch打补丁实践 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-26 16:32 |只看该作者 |倒序浏览
1、两个文件,hello.c和hello-new.c

hello.c内容:
void main()
{
printf("hello the world!\n");
}

hello-new.c内容:
void main()
{
printf("HELLO THE WORLD!\n");
}
2、diff -u hello.c hello-new.c > hello.patch生成hello.patch文件内容
--- hello.c 2009-11-26 16:12:38.000000000 +0800
+++ hello-new.c 2009-11-26 16:13:15.000000000 +0800
@@ -1,4 +1,4 @@
void main()
{
- printf("hello the world!\n");
+ printf("HELLO THE WORLD!\n");
}
3、patch hello.c
hello.c内容和hello-new.c一样了。

说明:
1、diff的使用
diff可以完成比较功能,生成补丁文件
格式::diff [option] oldfile newfile
常用的option选项有:
-r 对目录进行递归处理
-u 输出统一格式,diff有"传统"和"统一"两种格式,现在一般使用"统一"格式,比较而言,统一格式生成的文件大,但包含了更多的信息,有利于阅读与定位
-N 补丁中包含整个新文件
-a 补丁中包含二进制文件
缺省时,diff向标准输出打印,所以一般都重定向到文件并以patch为后缀,也就是所谓的补丁文件。
2、如果patch失败,patch会把成功的行打上补丁,失败的行存为以.rej为后缀的文件折,并生成原文件的备份,如果成功则不生成备份。 -b选项可以指定后缀名。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/106557/showart_2104800.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP