2011-08-06 38 views
2

我想將.patch文件應用於一個文件。 我都在同一文件夾放在我想這應用.patch文件

[email protected] ~/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

+0

您使用的是什麼操作系統?你的源文件和補丁文件可能有不同的行尾(LF和CRLF)?這有時會導致'patch'程序拋出搖擺。 –

+0

我正在使用Linux Mint(Ubuntu),但我想要應用的補丁是OpenBSD安裝程序腳本。 (也許這個幫助,我想申請修補程序到這個版本:http://www.openbsd.org/cgi-bin/cvsweb/src/distrib/miniroot/install.sub?r1=1.650#rev1.650) –

回答

1

你的補丁命令是好的。這是補丁文件本身給出的問題(至少對我來說(Kubuntu 11.04),看着你在評論中給出的鏈接,所有補丁文件都包含相同的錯誤...?)

解決我的問題,找到這一行的補丁文件:

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

並刪除set_timezone() {一部分,你所描述的錯誤消失。

這部分顯示了進行更改的功能。在您評論中給出的頁面上查看補丁時,它會顯示它們都包含這些額外信息。據我所知(但我不是一個補丁大師,所以請糾正我)這是默認的補丁命令不接受。

(不幸的是,你的補丁仍然失敗和補丁文件的預期線相比原來的文件不匹配......)