我想应用一个。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的内容基本上是来自拉拉拉拉.patch的所有代码我尝试了类似的命令,但得到了相同的结果。我想我做错了什么。
我知道应用一个补丁只是一个命令,但我在这个迷路了。如果有人告诉我命令或直接修补文件(也告诉我命令),谢谢
原始文件http://pastebin.com/raw.php?i=PKru8m5r补丁:http://pastebin.com/raw.php?i=kkMUHtj8
您的补丁命令很好。这是补丁文件本身的问题(至少对我来说(Kubuntu 11.04),看看你在评论中给出的链接,所有的补丁文件都包含相同的错误…?!)
要为我解决这个问题,请在补丁文件中找到这一行:
@@ -1562,6 +1562,8 @@ set_timezone() {
并删除set_timezone() {
部分,您所描述的错误就消失了。
这部分显示了进行更改的函数。当查看你在评论中给出的页面上的补丁时,它显示它们都包含这些额外的信息。据我所知(但我不是补丁专家,所以请纠正我),这是不被默认的补丁命令接受的吗?
(不幸的是,您的补丁仍然失败,并且补丁文件中的预期行与原始文件不匹配…)
很可能生成的补丁是"正确的";但是要仔细检查它的编码,并确保它是UTF-8。