应用补丁,排除特定文件夹

时间:2013-07-24 11:57:52

标签: shell magento updates patch

我有一些软件(Magento)的补丁文件,想要将它应用到我当前的项目中。

补丁文件还包含对我不想要的var/packages文件夹中的文件的引用(我在安装中删除了此文件夹)。

应用此补丁文件(patch -p1 < the.patch)时,我收到很多警告,如:

The next patch would delete the file var/package/Foo_Bar.1.7.0.0.xml,
which does not exist!  Assume -R? [n] ^C

有没有办法告诉patch命令只是忽略这个文件夹的补丁?

2 个答案:

答案 0 :(得分:3)

您可以使用“{dbdiff”实用程序 - http://man.cx/filterdiff - 来自http://packages.debian.org/patchutils来执行此操作。

否则,只需按Enter键也会有所帮助; - )

答案 1 :(得分:-1)

您可以使用filterdiff软件包中的patchutils

  

-x *PATTERN*, --exclude=*PATTERN*

     

排除与 PATTERN 匹配的文件。显示输入中的所有其他行。

因此,您的示例

filterdiff -p1 -x 'var/packages/*' < the.patch | patch -p1

或者,您可以手动编辑补丁以删除不需要的文件,但是如果补丁很大,则需要一些时间。