我有一些软件(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命令只是忽略这个文件夹的补丁?
答案 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
或者,您可以手动编辑补丁以删除不需要的文件,但是如果补丁很大,则需要一些时间。