日期:2014-05-16  浏览次数:20710 次

patch文件在打补丁的时候,把新文件创建到原来的目录?
hi,大家好。
我做完程序以后,准备给kenrel创建补丁,然后应用在别的机器上。
假定我的干净的kernel目录为linux,有我修改的代码的kernel目录为linux_modified。我是这样创建patch文件的:
diff   -ruNa   linux   linux_modified   > my_patch.patch
需要说明的是,在我的scripts目录下有一个新文件a.c,在patch里面也看到了该文件。
但在应用补丁的时候出现了问题,前面对文件的修改都能打上补丁,而对于这个scripts目录下的a.c文件,每次都要创建到linux_modified目录,提示已经存在,是否覆盖云云。
我打补丁用的命令:
patch   -p0   <my_patch.patch
p0参数没有问题。
请问是那儿有错误?请高手指点


------解决方案--------------------
patch放到目录内,用-p1看看。
------解决方案--------------------
楼上说的有道理。我一般打补丁都是把补丁放在外面(与欲打补丁源码目录在同一层),然后进入目录,用如下命令:patch -p1 < ../my_patch.patch