Chinaunix首页 | 论坛 | 博客
  • 博客访问: 438311
  • 博文数量: 205
  • 博客积分: 5630
  • 博客等级: 大校
  • 技术积分: 1945
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-06 20:28
文章分类

全部博文(205)

文章存档

2016年(1)

2015年(6)

2014年(9)

2013年(10)

2012年(53)

2011年(25)

2010年(87)

2009年(14)

分类: LINUX

2009-12-07 12:06:25

1. 制作patch
diff -crN Component_org Component > 01_Component_xxx.patch
2. 打patch
patch -pl < ./01_Component_xxx.patch
3. 使用quilt 管理patch
# tar xvjf prj-0.1-patches.tar.bz2 Component/
# quilt push -a  <== 打series所有补丁
# quilt pop -a <== 退出补丁
# quilt diff > xxx.patch 合并所有补丁

4.patch的-p参数

先用diff比较两个目录,在patch的时候,如果要打补丁的目录和diff时的目录放的地方不一样,它会报找不到文件的错,此时需要用到-p的参数,-p后面跟一个数字作为参数,表示忽略diff文件中第几个/前的东西。如-p5表示忽略第5个/前的东西。比如在diff的时候,比较的是a/foo和b/foo两个文件夹,那么输出的diff文件中,文件名是a/foo/XXXX,此时如果要给c/foo下的一个东西打补丁,那么直接打就不行了。此时应该到c目录中,然后用patch -p1命令来打,嗯。

外一则,如果被打补丁的目录中有些文件不存在了,patch会停下来问你咋办,如果在命令行中加上-t的参数,那么它就不会停而是直接跳过,开始打下一个文件的补丁了。

 
阅读(625) | 评论(0) | 转发(0) |
0

上一篇:创建内核线程(2)

下一篇:libEGL.so

给主人留下些什么吧!~~