2

我想将 .patch 文件应用到一个文件。我把它们放在同一个文件夹中,我试过了

trinity@Zion ~/Desktop $ patch -i lalala.patch 
patching file install.sub
patch unexpectedly ends in middle of line
Hunk #1 FAILED at 1562.
1 out of 1 hunk FAILED -- saving rejects to file install.sub.rej

但正如您在输出中看到的那样,它失败了。install.sub.rej 的内容基本上是来自 lalala.patch 的所有代码,我尝试了类似的命令,但得到了相同的结果。我想我做错了什么。

我知道应用补丁只是 1 个命令,但我对此很迷茫。如果有人告诉我命令或直接修补文件(也告诉我命令)谢谢

原文件 http://pastebin.com/raw.php?i=PKru8m5r 补丁: http://pastebin.com/raw.php?i= kkMUHtj8

4

2 回答 2

1

你的补丁命令很好。问题在于补丁文件本身(至少对我而言(Kubuntu 11.04),查看您在评论中提供的链接,所有补丁文件都包含相同的错误......?!)

要为我解决问题,请在补丁文件中找到这一行:

@@ -1562,6 +1562,8 @@ set_timezone() {

并删除该set_timezone() {部分,您描述的错误就消失了。

这部分显示了进行更改的功能。查看您在评论中提供的页面上的补丁时,它表明所有补丁都包含这些额外信息。据我所知(但我不是补丁专家,所以请纠正我)这是默认补丁命令不接受的。

(不幸的是,您的补丁仍然失败,并且与原始文件相比,补丁文件中的预期行不匹配......)

于 2011-08-06T23:09:55.997 回答
0

很可能,生成的补丁是“正确的”,但仔细检查它的编码并确保它是 UTF-8。

于 2021-08-11T17:55:44.303 回答