b.txt $ diff -n a.txt b.txt > ab.-6ren">
gpt4 book ai didi

linux - 给出 "only garbage"错误的普通格式差异文件...不需要统一/上下文

转载 作者:太空狗 更新时间:2023-10-29 11:08:48 24 4
gpt4 key购买 nike

我正在尝试使用普通格式创建补丁然后应用它。尽管 diffpatch 上都有 -npatch< 上有显式文件输出 -o/,我得到错误:

patch: **** Only garbage was found in the patch input.

我该如何解决这个问题?在这种情况下,我不能使用统一或上下文补丁,所以这不是解决方案。

是bug还是什么?出于某种原因,编辑器格式似乎有效:

$ echo a > a.txt
$ echo b > b.txt
$ diff -n a.txt b.txt > ab.diff
$ patch -n -o a.txt a.txt ab.diff
patch: **** Only garbage was found in the patch input.
$ diff -e a.txt b.txt > ab.diff
$ patch -e -o a.txt a.txt ab.diff
$ diff a.txt b.txt
$

这是在 Linux Mint 16 上,有:

$ diff --version
diff (GNU diffutils) 3.2
$ patch --version
GNU patch 2.7.1

最佳答案

根据man page diff,您没有使用带有 -n 的普通 diff 格式,而是使用 RCS一:

-n --rcs
Output an RCS format diff.

为了使用普通格式,您可以使用--normal 选项。在patch命令代替 -n 指定正常模式。所以这不是一个错误,更像是一个不愉快的命名约定。

例子

$ echo a > a.txt
$ echo b > b.txt
$ diff --normal a.txt b.txt > ab.diff
$ patch --normal a.txt ab.diff
$ diff a.txt b.txt
$

(您可以避免使用 --normal 标志,因为它们是这两个命令的默认格式)

关于linux - 给出 "only garbage"错误的普通格式差异文件...不需要统一/上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25578322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com