繁体   English   中英

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

[英]How to apply a diff file for a folder, using patch, on a different folder when full path is present?

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

--- /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 文件更新的项目目录的本地副本当然位于不同的完整路径中。

我无法弄清楚将差异文件放在哪里(或者更确切地说,当我运行patch时,我自己在 position 的哪个目录中)以及运行什么命令。

因为第二个(+)文件是相对路径,所以我认为将自己定位在本地文件系统中的正确位置,以便相对路径正确 - 然后发出命令

patch -i patchfile

... 会工作。 它没有(相反, patch会提示我每个文件,因为它无法找到它)。

我应该发出什么命令来使用patch合并差异文件?

传递-p后跟要剥离的适当数量的路径前缀。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM