2015-12-08 48 views
1

我可以檢出後,瀏覽歷史等...但是當我嘗試使用烏龜SVN提交任何修改我得到一個錯誤:無法提交到SVN移動顛覆邊緣到新的服務器

Commit failed (details follow):

Commit blocked by pre-commit hook (exit code 255) with output:

The system cannot find the path specified.

If you want to break the lock, use the 'Check For Modifications' dialog or the repository browser.

這是發生在我們建立一個新的服務器並從舊服務器複製存儲庫數據之後。服務器上的錯誤日誌包含:

[Tue Dec 08 13:23:29.696220 2015] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59995] Could not MERGE resource "/svn/Phil/!svn/txn/2501-1w2" into "/svn/Phil". [500, #0]

[Tue Dec 08 13:23:29.696220 2015] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59995] Commit blocked by pre-commit hook (exit code 255) with output:\nThe system cannot find the path specified.\r\n [500, #165001]

[Tue Dec 08 13:23:29.789973 2015] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59997] Could not fetch resource information. [404, #0]

[Tue Dec 08 13:23:29.789973 2015] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59997] Named transaction doesn't exist. [404, #175002]

有什麼建議嗎?

+1

你的倉庫中有一個預先提交的鉤子,它似乎在搜索一個不存在的文件? –

+1

檢查svn是否具有寫入/讀取權限到您定義的存儲庫目錄中?另外通過第二個錯誤日誌(提到pre-commit鉤子),檢查鉤子是否可執行。通過鉤子輸出,看起來你的svn試圖讀取的路徑有一些矛盾的信息。第三和第四個錯誤日誌也一樣。 –

+0

我設法找到編輯預提交鉤子的選項,看起來CSVN的路徑在那裏是硬編碼的。當我安裝軟件時,我把它放在C:\ Program Files \ CSVN而不是C:\ CSVN中,所以我認爲這是導致問題的原因。 –

回答

1

原來,這是因爲新服務器上的軟件安裝在與原始服務器上不同的文件夾中,並且文件夾名稱被硬編碼到存儲庫中的預提交掛鉤腳本中。

編輯hooks子文件夾中發現的pre-commit.cmd並更正解決問題的路徑。