linux – 当存在完整路径时,如何使用补丁在不同的文件夹上为文件夹应用diff文件?

我已经下载了一个diff文件来修改版本化项目目录中的许多文件(Xerces 2.8). diff文件包含每个“left”文件的完整路径(由 – 符号表示的文件). “右”文件(符号)包含相对路径.例如:

--- /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_xercesc/work/xerces-c-src_2_8_0/src/xercesc/util/Platforms/MacOS/MacCarbonFile.cpp  2007-08-28 20:44:07.000000000 +0200
+++ src/xercesc/util/Platforms/MacOS/MacCarbonFile.cpp  2009-10-28 19:37:22.000000000 +0100

我想用diff文件更新的项目目录的本地副本当然是在不同的完整路径上.

我无法弄清楚在哪里放置diff文件(或者更确切地说,在我运行补丁时在什么目录中定位自己)以及要运行的命令.

因为second()文件是一个相对路径,我认为将自己定位在我的本地文件系统中的适当位置,以便相对路径正确 – 然后发出命令

patch -i patchfile

… 会工作.它没有(相反,补丁向我提示每个文件的提示,因为它无法找到它).

我应该发出什么命令来使用补丁来合并diff文件?

解决方法:

传递-p后跟适当数量的路径前缀进行剥离.

上一篇:区块链笔记


下一篇:python-在matplotlib中用中点箭头绘制圆形的fancyarrowpatch