Chinaunix首页 | 论坛 | 博客
  • 博客访问: 48030
  • 博文数量: 37
  • 博客积分: 1800
  • 博客等级: 上尉
  • 技术积分: 451
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-29 19:56
文章存档

2011年(9)

2010年(28)

我的朋友

分类: LINUX

2010-12-12 15:16:20

在网上经常看到补丁,发现不用不行了,赶紧学习一下,实际上就是学习一下 diff 和 patch 两个程序的用法,不学不知道,还真发现一些问题,记录在案吧.


1)单个文件补丁:两个文件
制作: diff –uN from-file to-file >to-file.patch
使用: patch –p0 < to-file.patch
复原: patch –RE –p0 < to-file.patch

2) 两个目录做补丁:
  diff –uNra from-dir to-dir >to-docu.patch
重要提示: -a会把全部文件做补丁,含二进制;如果没有指定-a,则只能为文本做补丁.

收到补丁的人,有原始目录,还有补丁,经典用法:

进入需要打补丁的目录!这一点很重要!然后:
patch –p1 < to-docu.patch

撤销补丁:恢复原状:
patch –RE –p1
理解 -p0 -p1...
p后目的数字是几,就从 patch中文件中的文件路径去掉几个前导/,例如:
-p1 下:
boot/aaa/bbb/123.txt
就忽略 boot/
-p2 下:
就忽略 boot/aaa/

=======================================================
遇到了问题:

目标文件夹中的0长度文件,在diff时候,没有作出来!被忽略了,怎么办?
找了挺长时间,一直没有找到解决方案!以后慢慢来吧.



阅读(353) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~