Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1057693
  • 博文数量: 166
  • 博客积分: 10217
  • 博客等级: 上将
  • 技术积分: 2133
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-09 19:45
文章分类

全部博文(166)

文章存档

2012年(3)

2011年(7)

2010年(18)

2009年(59)

2008年(79)

我的朋友

分类: LINUX

2008-07-02 20:38:01

在此仅举一个简单的例子来说明如何用diff/patch工具维护源码升级。

假设program-1.0目录中为老版,现开发完成的新版位于program-2.0目录中,将两个目录置于同一父目录下,然后在该父目录上执行:

diff -Nur program-1.0 program-2.0 >program-2.0.patch

将生成一个program-2.0.patch的补丁文件,发布该补丁文件(当然可以先压缩成bzip2格式)。

假设拿到的是program-2.0.patch.bz2文件,则在program-1.0目录同级执行:

bzcat program-2.0.patch.bz2 | patch -p0

如此即完成了从1.0到2.0的升级。


对于单个文件也一样,
diff -Nur draw1.0.c  draw2.0.c  > draw_0806.patch
打包时,把draw_0806.patch和draw1.0.c放同一目录,
patch -p0  < draw_0806.patch

注:
patch,是打补丁的命令,有很多用法,见帮助#man patch
patch -p0       (“p”指的是路径,后面的数字表示去掉路径的第几部分。"0",表示不去掉,为全路径)
patch -p1       (“p”后面的数字"1",表示去掉前第一个路径)
阅读(1042) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~