Hunk #1 FAILED at 1. 1 / 1 hunk FAILED -- 将拒绝保存到文件 Makefile.am.rej
当我通过补丁应用更改然后在stackoverflow上完全搜索时发现了同样的错误,但我没有得到答案。
然后我搜索了一些小部分,比如补丁错误背后的原因,然后我发现
Hunk #n 在 nnn 失败。n 个大块中的 n 个失败 - 将拒绝保存到文件 file.rej
这意味着不能将一个或多个称为大块的更改引入文件中。有时这可能是因为通过电子邮件发送补丁或将补丁复制到文件中,并且添加或删除了空格。尝试将 --ignore-whitespace 添加到命令行以解决此问题。
第2步
然后我搜索了不同的文件结尾,我发现有两种类型的格式系统 LF,CF
然后我检查我的文件我使用什么格式
现在如果这个文件是在 *NIX 系统中创建的,它会显示
$ cat -A 文件你好$
hello$ 但是如果这个文件是在 Windows 中创建的,它会显示
$ cat -A 文件你好^M$
你好^M
代表 CR,$ 代表 LF。请注意,Windows 没有使用 CRLF 保存最后一行
这是我从stackoverflow中找到的
然后我检查我的原始文件格式和 .patch/diff 我得到那个补丁文件有 LF 和 Cf
然后我在将补丁应用到 Windows 或 unix 格式之前转换这些文件,方法是使用
dos2unix 文件名.extension 或 unix2dos 文件名.extension
这将转换文件
然后应用补丁得到结果
命令提示符命令
创建文件
touch filename.txt
用于创建补丁/差异文件
diff -u originalfile.txt 编辑文件.txt > originalfile.diff 或 diff -u originalfile.txt 编辑文件.txt > originalfile.patch
在应用更改检查文件格式之前
cat -A originalfile.txt
cat -A originalfile.diff
现在转换 doc2unix 或 unix2dos
unix2dos originalfile.txt unix2dos originalfile.diff
应用更改
补丁 originalfile.txt < originalfile.diff
完毕 !!
我希望这会帮助你!