2011-09-19 98 views
1

我提交時發生交易錯誤。據我所知,這些都是因半途而廢的失敗造成的。有沒有辦法,最好使用像TortoiseSVN這樣的GUI,它會在失敗時自動恢復提交,並將繼續重試,直到所有內容都提交爲止?的失敗有沒有辦法在顛覆提交中自動恢復?

例承諾:

提交失敗(細節如下): PUT 「/ SVN/namcloud的/ SVN/WRK/02b0f9ff-2510-a147-892a-2ee0b7b442dc/src目錄/站點/所有/模塊/ globalredirect/LICENSE.TXT': 無法讀取響應體:一個現有的連接被強行 遠程主機關閉。 (http://XXX.XXX.XXX)

+1

重複的:http://stackoverflow.com/questions/7137470/eclipse-restart-an-svn-import-from-where-it-left- off/7137625#7137625 – hsalimi

回答

3

它不是完全自動的,但有一個TortoiseSVNSettings...Dialogs 2Reopen commit and branch/tag dialog after a commit failed複選框。這減少了一點煩惱,自動復活你的日誌信息。

「現有連接被遠程主機強制關閉」可能表示RST沿着TCP/IP連接回來。這可以由您和遠程主機之間的任何事情生成。

我建議抓住像Wireshark,看是否有什麼顯而易見。 (如果你不使用它,但值得一快看都是一樣的,這種診斷是棘手的。)

由於A.H.建議,您可能需要與服務器管理員聯繫。可能有一些連接超時的證據可能出現在他們的網絡服務器或防火牆日誌中,或者例如可能有一個明顯的超時設置。一個SSL配置指令。

2

SVN中的「事務」或「原子提交」正是 - 全部或全無。因此沒有auto_ 簡歷。你所能做的就是從一開始就開始簽入。

更好的解決方案正在與合適的服務器管理員來檢查並修復的原因。只治療症狀絕不是一個好主意。

+0

我認爲這可能是我的連接問題。 – coderama

3

不幸的是,我們並不總是有我們用什麼樣的選擇,或者是什麼樣的支持/管理,我們對事物的服務器端。

一個'更邪惡'的方式去創建一個腳本,它會一次又一次地提交樹個別文件,直到它們全部成功。

當然,在一個大的提交中,有人可能會抱怨說有100多個幾乎相同的日誌消息,每個文件一個,就像一個大的RCS/CVS提交,人們會'更新' '提交和完成的開始,但是你可以告訴他們你有什麼問題,以及你不得不採取的'解決方案',以便儘快完成工作,儘管管理和支持很差。

不幸的是,對於特別大的文件,或者特別「壞」的網絡問題,這仍然可能無法正常工作。

最壞情況下,每個人都對項目乞求你的腳本了。

或者我猜想有人可以通過它「激發」你。但是,這可能會比在破壞你爲實現目標所做的一切努力的環境中工作更好,然後當你試圖克服阻礙完成任務的障礙時,你會承擔「責任」。

2

TortoiseSVN的 - >設置 - >對話框2 - >重新打開提交失敗

我覺得這個功能已經被移除後,提交和 分支/標籤對話框。我沒有看到這個選項在TortoiseSVN 1.7.11 Build 23600