2012-08-13 104 views
12

我想應用補丁,但我得到一個空白的錯誤消息(沒有文字或任何東西)。我有最新版本的TortoiseSVN。TortoiseSVN應用補丁錯誤

+0

歡迎來到SO Michael!你的問題沒有太多可以繼續。你能提供任何額外的細節嗎?如果不是,最好去[烏龜的](http://tortoisesvn.net/support.html)網站並在那裏詢問。 – AlG 2012-08-13 18:30:04

回答

9

我有同樣的問題,如果你已經創建了從修訂的補丁,使用「查看修改爲統一差異」,請檢查你的補丁文件的路徑,這是正確的:

文件夾/文件名。 CS

但是這一次(絕對路徑)會導致一些問題:

C:/Folder/FileName.cs

只是轉換絕對爲相對路徑。

+1

來自Trac 0.11的Udiff文件具有絕對路徑,並在TortoiseSVN-> apply patch中導致此空白錯誤對話框。類似的修復(使路徑相對於工作目錄的根目錄)適用。 – Magicianeer 2013-02-28 16:35:48

+0

我已經修復了@Magicianeer的建議。打開文件並用/替換所有的c:/實例,並且diff文件應該正常工作。 – CodingBarfield 2013-07-24 09:18:52

+0

謝謝@Ivan Jovovic的正確答案。你爲我節省了很多時間:) – 2014-05-29 18:32:17

5

Having a look here,似乎是3個可能的根本原因,這空的錯誤的svn補丁問題:

  • 補丁文件是空的(或無效,因此補丁數據顯示爲空)

  • 補丁沒有應用到正確的目錄(自動DIR-搜索主幹現在工作)

  • 補丁文件使用絕對路徑,而不是相對那些(樹幹已經自動剝離這樣的路徑)

第一可能不是你的,最有可能你應該使用相對路徑,而不是絕對的

3

我得到這個消息,所有的時間。這通常是因爲我在Windows資源管理器中右鍵單擊以獲取到烏龜日誌。當您在此上下文中使用「顯示差異作爲統一差異」時,生成的修補程序將包含相對於您的計算機的絕對位置,例如「c:\ source \」。如果您嘗試將此修補程序應用於其他目錄,則此操作將失敗。

解決方案是使用來自烏龜的資源庫瀏覽器,然後使用此上下文中的「顯示日誌」菜單。生成的補丁將具有相對位置,並且您將能夠在相對路徑匹配的任何位置應用這些補丁。

0

我也遇到了這個問題,並通過修改補丁文件中的路徑來修復它。在我的情況下,我只需要修補一個文件。發生這個問題是因爲在我的情況下,我從評論板創建了補丁文件,該文件創建具有完整鏈接路徑的文件。 INDEX /home/pushpendra/...something/file.c(修訂some_rev)

所以我替換這一行:

INDEX file.c(修訂some_rev),然後用鼠標右鍵單擊該文件,然後應用補丁。