文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>diff和patch十分钟指南

diff和patch十分钟指南

时间:2009-06-12  来源:tdh2002

diff和patch十分钟指南

用patch命令应用补丁

要对单个文件应用补丁,进入文件所在的目录并调用patch命令:

patch < foo.patch

这些命令假定补丁是以统一格式分发的,这种格式指明了补丁要应用到的文件。如果不是,你可以在命令行里指定文件:

patch foo.txt < bar.patch

应用补丁到整个目录(这种情况也许更常见)也是类似的,但是你必须注意设置p级别。就是说,在补丁文件里,需要打补丁的文件在你电脑上的路径名跟 在创建补丁的电脑上可能不同。p级别告诉patch命令忽略掉路径名的几个部分以正确的识别文件。通常p级别为1就够了,所以你使用:

patch -p1 < bar.patch

运行该命令之前,你应该进入源代码目录的顶层目录。如果补丁级别1不能正确识别任何需要打补丁的文件,检查补丁文件里的文件名。如果你看到这样一个文件名:

/users/stephen/package/src/net/http.c

而你当前正工作在一个包含net/http.c的目录,使用:

patch -p5 < bar.patch

总的来说,对于从路径最开始删除的每个路径分隔符(斜线字符)加一,直到剩下的部分存在于你的工作目录中。最后得到的就是p级别。

要删除补丁,用-R参数,例如:

patch -p5 -R bar.patch

使用diff创建补丁

不论是对于单个文件还是整个源码目录,使用diff都很简单。为单个文件创建补丁,用下面形式:

diff -u original.c new.c > original.patch

为整个源码树创建补丁,复制一份源码树:

cp -R original new

在目录new/里进行必要的修改,然后用下面的命令创建补丁:

diff -rupN original/ new/ > original.patch

这就是diff和patch入门需要的所有知识。要获得更多的信息用:

man diff
man patch
相关阅读 更多 +
排行榜 更多 +
火柴人狙击高手

火柴人狙击高手

飞行射击 下载
僵尸射击防御汉化版

僵尸射击防御汉化版

飞行射击 下载
士兵生存

士兵生存

飞行射击 下载