蓝天,小湖,湖水中一方小筑

diff/patch

今天配置xoops的时候,发现几个模块之间好像有相同的配置文件,它们有相同的文件名,只是在不同的地方加上了一些代码,所以自然而然的就想到了用diff/pat ch。上网查了一上,还是满简单的,主要就是patch接受的diff文件有特定的格式,在用diff生成的时候要加上- u选项才可以被patch接受。例如目录下有1和2两个文件,下面是一些操作记录:

[sonic@StarMoon:test]$ cat 1
abcde
fghij
[sonic@StarMoon:test]$ cat 2
bacde
fghij
[sonic@StarMoon:test]$ diff 1 2
1c1
< abcde
-–
> bacde
[sonic@StarMoon:test]$ diff 1 2 -u
-– 1 2006-08-30 21:54:25.000000000 +0800
+++ 2 2006-08-30 19:41:41.000000000 +0800
@@ -1,2 +1,2 @@
-abcde
+bacde
fghij
[sonic@StarMoon:test]$
diff 1 2 -u | patch
patching file 1
[sonic@StarMoon:test]$ cat 1
bacde
fghij
[sonic@StarMoon:test]$ cat 2
bacde
fghij