Diff 和 patchvim
# mkdir -pv a/cide
# vim a/c/1spa
Wolaileit
# cp -r a bclass
# vim b/c/1file
Wolaileim
Wozoulemargin
# diff -Nur a btop
diff -Nur a/c/1 b/c/1注释
--- a/c/12013-09-30 11:17:27.974856750 +0800
+++ b/c/12013-09-30 11:17:46.420855603 +0800
@@ -1 +1,2 @@
wolaile
+wozoule
参数N表示若是某个文件仅在一个目录中出现,则假定其在另外一个目录中为空文件;u表示unified格式,r表示在目录中嵌套使用。
# diff -Nur a b > /tmp/diff.patch
# patch -p0 < /tmp/diff.patch
patching file a/c/1 打补丁成功
# patch -p0 -R < /tmp/diff.patch 注释:-R 表示退回一步
patching file a/c/1
# cd a
# patch -p1 < /tmp/diff.patch
patching file c/1
# patch -p1 -R < /tmp/diff.patch 再退回一步
patching file c/1
# cd c
# patch -p2 < /tmp/diff.patch
patching file 1
注释:-p后边的数字在不停的变化,补丁却依旧能够打成功,结论:数字与“<”后边的目录没有关系,与当前所在的目录有关,即pwd命令获得的结果。这也要看diff.patch补丁文件是为谁建立的,在谁之上打补丁就是-p0,更进一步,若是被打补丁的是一个目录,进到目录里面,就是-p1,依次类推。