避免使用patch命令来询问修补“File to patch”错误的文件

时间:2016-06-13 03:20:05

标签: bash diff patch

我正在尝试修补文件。

补丁文件位于要修补的文件列表的目录中。

当我运行推荐时

patch < file.patch

它提示我

File to patch:

如何避免这种情况?我应该在补丁文件中添加什么来自动检测它应该修补的文件名

3 个答案:

答案 0 :(得分:1)

使用-u创建补丁时,默认情况下,输出格式不包含原始文件名的文件名。你可以使用像这样的$ diff -u OriginalFile NewFile >NewFile.patch 选项来改变它......

$ patch -u <NewFile.patch

然后,你可以简单地......

{{1}}

有关详细信息,请参阅unified GNU diff format

答案 1 :(得分:0)

GNU版本的补丁程序包含一个--batch-t选项,可阻止所有提示。

-t or --batch
   Suppress  questions  like  -f, but make some different assumptions: skip patches
   whose headers do not contain file names (the same as -f); skip patches for which
   the file has the wrong version for the  Prereq: line in the patch; and assume
   that patches are reversed if they look like they are.

答案 2 :(得分:0)

如果偶然地您想从另一个人那里申请补丁,而您可能没有访问权限,则只需给出该补丁将在提示时更改的文件的绝对路径即可!