patch 的制作方法

1246阅读 0评论2010-10-18 bo_00
分类:LINUX

目的:
当源程序大范围改动之后,而且不通过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

上一篇:extern FILE *stdout 重新定向 和 STDOUT_FILENO
下一篇:指针 段错误 segament fault