块 #1 在 1 处失败。
1 处中的 1 块失败 - 将拒绝保存到文件 Makefile.am.rej
当我通过补丁应用更改并完全在 StackOverflow 上搜索时,我发现了相同的错误,但我没有得到答案。
然后我搜索了一些小部分,比如补丁错误背后的原因,然后我发现了这个。
Hunk
这意味着一个或多个称为 hunks 的更改无法引入文件中。偶尔会出现这种情况,因为补丁是通过电子邮件或复制到文件中的,并且添加或删除了空格。尝试在命令行中添加 --ignore-whitespace 以解决此问题。
第二步
然后我搜索了文件的不同结尾,发现有两种格式系统 LF、CF
然后我使用以下命令检查我的文件格式
现在,如果此文件是在 *NIX 系统中创建的,则会显示
$ cat -A file
hello$
hello$
但如果这个文件是在Windows中创建的,它将会显示。
$ cat -A file
hello^M$
hello^M
表示CR,$表示LF。请注意,Windows没有使用CRLF保存最后一行
我从StackOverflow上发现了这个问题。
然后我检查了我的原始文件格式以及.patch/diff文件,我发现补丁文件同时具有LF和Cf。
然后我通过使用dos2unix filename.extension或unix2dos filename.extension将这些文件转换为Windows或Unix格式之一,然后再应用补丁。
这会使文件发生变化,然后应用补丁来得到结果。
命令提示符命令
创建文件
touch filename.txt
创建一个补丁/差异文件
diff -u originalfile.txt editedfile.txt > originalfile.diff
或者
diff -u originalfile.txt editedfile.txt > originalfile.patch
在应用更改之前,请检查文件格式
cat -A originalfile.txt
cat -A originalfile.diff
现在可以转换doc2unix或unix2dos
unix2dos originalfile.txt
unix2dos originalfile.diff
应用更改
patch originalfile.txt < originalfile.diff
完成了!!
希望这能对你有所帮助!