应用.patch文件

时间:2011-08-06 23:01:05

标签: diff patch rcs

我想将.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的所有代码 我尝试了类似的命令,但我得到了相同的结果。我想我做错了。

我知道应用补丁只是一个命令,但我很失落。如果有人告诉我命令或直接修补文件(并告诉我命令)谢谢

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

2 个答案:

答案 0 :(得分:1)

你的补丁命令没问题。这是补丁文件本身提出的问题(至少对我来说(Kubuntu 11.04),看着你在评论中给出的链接,所有补丁文件包含相同的错误......?!)

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

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

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

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

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

答案 1 :(得分:0)

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