Patch文件的生成和使用

Patch文件的生成和使用通过diff工具生成补丁,patch工具打上补丁.在使用diff之前,你需要保留一份未修改过的源码,然后在其它地方修改源码的一份拷贝.diff对比这两份源码生成patch.修改过的源码必须保留原来的文件名,例如,如果你修改源码中的a.c文件,那么,修改后的文件还是名为a.c,在修改之前你可以复制a.c为a.orig.c进行备份.diff命令必须在整个Linux源码的根目录的上一

大家好,欢迎来到IT知识分享网。Patch文件的生成和使用

通过diff工具生成补丁, patch工具打上补丁.在使用diff之前, 你需要保留一份未修改过的源码, 然后在其它地方修改源码的一份拷贝. diff对比这两份源码生成patch. 修改过的源码必须保留原来的文件名, 例如, 如果你修改源码中的a.c文件, 那么, 修改后的文件还是名为a.c, 在修改之前你可以复制a.c为a.orig.c进行备份.diff命令必须在整个Linux源码的根目录的上一级目录中执行.1. 为单个文件生成补丁diff -up linux-2.6.28.8/net/sunrpc/svc.orig.c linux-2.6.28.8/net/sunrpc/svc.c这条命令会产生类似如下的输出, 你将它重定向到一个文件中, 这个文件就是patch.— linux-2.6.28.8/net/sunrpc/svc.orig.c 2009-03-17 08:50:04.000000000 +0800+++ linux-2.6.28.8/net/sunrpc/svc.c 2009-03-30 19:18:41.859375000 +0800@@ -1050,11 +1050,11 @@ svc_process(struct svc_rqst *rqstp)参数详解:-u 显示有差异行的前后几行(上下文), 默认是前后各3行, 这样, patch中带有更多的信息.-p 显示代码所在的c函数的信息.2. 为多个文件生成补丁diff -uprN linux-2.6.28.8.orig/net/sunrpc/ linux-2.6.28.8/net/sunrpc/这条命令对比了linux-2.6.28.8.orig/net/sunrpc/和linux-2.6.28.8/net/sunrpc/两个目录的源码差异. 不像只需要单个文件, 如果修改多个文件, 那么就需要拷贝整个Linux源码树.参数详解:-r 递归地对比一个目录和它的所有子目录(即整个目录树).-N 如果某个文件缺少了, 就当作是空文件来对比. 如果不使用本选项, 当diff发现旧代码或者新代码缺少文件时, 只简单的提示缺少文件. 如果使用本选项, 会将新添加的文件全新打印出来作为新增的部分.3. 打补丁生成的补丁中, 路径信息包含了你的Linux源码根目录的名称, 但其他人的源码根目录可能是其它名字, 所以, 打补丁时, 要进入你的Linux源码根目录, 并且告诉patch工具, 请忽略补丁中的路径的第一级目录(参数-p1).patch -p1 < patch1.diff

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/14434.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信