无法在 SunOS 服务器上应用使用 diff 生成的补丁

无法在 SunOS 服务器上应用使用 diff 生成的补丁

我使用以下命令生成了两个目录的补丁文件:

diff -ur source-20110125 source > mailpatch3.patch

现在我想应用补丁,执行以下操作:

patch -p1 < mailpatch3.patch

但随后它要求我提供要修补的文件。为什么?

补丁文件中有些东西对我来说很奇怪:有很多“公共子目录”行。像这样:

Common subdirectories: source-20110125/ac_depository and source/ac_depository
Common subdirectories: source-20110125/ac_depository_jar and source/ac_depository_jar
Common subdirectories: source-20110125/_backoffice and source/_backoffice
Common subdirectories: source-20110125/_csvexport and source/_csvexport
Common subdirectories: source-20110125/_foundation and source/_foundation
Common subdirectories: source-20110125/_impex and source/_impex

我真的不知道他们为什么在那里。

补丁的其余部分看起来很正常。

答案1

最有可能的是,你对从路径中修剪前缀的 -p 设置有误。如果在生成补丁时你位于两个源目录下,那么你应该在源目录中使用 -p1 应用补丁。

相关内容