标签:
转自:http://blog.csdn.net/dl0914791011/article/details/17299103
在使用diff之前, 你需要保留一份未修改过的源码, 然后在其它地方修改源码的一份拷贝. diff对比这两份源码生成patch. 修改过的源码必须保留原来的文件名, 例如, 如果你修改源码中的a.c文件, 那么, 修改后的文件还是名为a.c, 在修改之前你可以复制a.c为a.orig.c进行备份.
1 $ diff -up linux-2.6.28.8/net/sunrpc/svc.orig.c linux-2.6.28.8/net/sunrpc/svc.c > patch
1 diff -up linux-2.6.28.8/net/sunrpc/svc.orig.c 2009-03-17 08:50:04.000000000 +0800 2 +++ linux-2.6.28.8/net/sunrpc/svc.c 2009-03-30 19:18:41.859375000 +0800 3 @@ -1050,11 +1050,11 @@ svc_process(struct svc_rqst *rqstp)
1 $ diff -uprN linux-2.6.28.8.orig/net/sunrpc/ linux-2.6.28.8/net/sunrpc/ > patch
1 $ patch -p1 < patch1.diff
1 $ diff -uparN linux-2.6.31.3 linux-2.6.31.3_1/ > mypatch 2 $ cd linux-2.6.31.3 3 $ patch -p1 < mypatch
注意点:
1. 打patch时,参数-p1, 是1而不是l. 为什么忽略第一级目录,因为工程的下面树状结构相同,但是工程名未必相同,所以打patch时候可以通过p1来避免这个问题。这个可以通过查看patch内容来决定具体执行patch的路径。
2.
标签:
原文地址:http://www.cnblogs.com/aaronLinux/p/5860552.html