Chinaunix首页 | 论坛 | 博客
  • 博客访问: 448055
  • 博文数量: 88
  • 博客积分: 2677
  • 博客等级: 少校
  • 技术积分: 893
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-13 08:01
文章分类

全部博文(88)

文章存档

2017年(3)

2016年(1)

2012年(4)

2011年(4)

2010年(57)

2009年(19)

我的朋友

分类: LINUX

2010-10-18 15:32:53

目的:
当源程序大范围改动之后,而且不通过CVS进行check in管理(将来的某一天,这些变更点也许被放弃)。
又能在每次check out后,可把变更部分,实施到刚刚新chekout的软件中。

可以利用patch文件,每次利用这个patch将变更部分,追加到新source中。
(当然patch文件自身也可加checkin到CVS上作为单独文件管理;并也追加到Makefile工程中,每次编译时执行)

相关命令:
patch 和 diff

Patch的制作方法:

Patch文件就像大家都知道的那样,是向文件更新其区别点的东西。
适用于,对checkout的文件,实施最新化时使用。
有很多人一直在利用Patch,这里只说做成方法。

■ 多文件的场合(旧文件夹 vs 新文件夹的比较)

~/project/newdir/...
         /olddir/...

※ ... 表示有很多文件。

构造目录结构时、Ptach文件可以
~/project/patchfile
中,做成。

$ cd ~/project/newdir
$ diff -aruN ../olddir . > ../patchfile
文件夹 间比较,输出比较结果

■ 单个文件的场合(旧文件 vs 新文件的比较)

仅有一个文件(新旧两版)、

$ cd ~/project
$ diff -c olddir/file newdir/file > patchfile
单个文件 间比较,输出比较结果



■ 实施Patch的场合

$ cd ~/project/olddir/
$ patch < ../patchfile

或者

$ cd ~/project/olddir/
$ cat ../patchfile | patch

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