2011-02-24 65 views
0

我通過SSH登錄到了我們的Linux Web服務器。我的SVN存儲庫中只有三個修改過的文件,我輸入了svn ci -m "message"來提交它們。我一直在提交文件沒有任何麻煩,但現在svn掛着試圖發送第一個文件!Subversion Commit在第一個文件後無限期掛起

我的屏幕現在看起來是這樣的:

Sending  path/to/my/file.php 



^C 



^C 





. 

這當然^C在這裏,等待幾分鐘後,我試圖取消使用Control-C的操作。空白行是我按下Enter的地方,以確保我的SSH連接仍處於活動狀態。

我再次登錄並在回購庫上執行svn status,它顯示所有內容都已鎖定。

這是怎麼回事?我能做些什麼來拯救我的回購並讓它再次正常提交?

回答

0

我遇到了完全相同的症狀,在我的情況下,它竟然是一個RPC鎖問題。我使用文件訪問我的repo:本地和NFS,並通過svn + ssh :.

我無法從任何客戶端提交,但其他一切正常。

顯然NFS客戶端出了問題,並在回購上留下了一個鎖。 (可能是我的MacBook使用WIFI,它已被證明是一個不可靠的NFS客戶端。)

重新啓動statd並鎖定在安裝repo的服務器上,立即解決了問題。

+0

我從來沒有確定哪些進程是持有回購,但重新啓動服務器(並進行清理)似乎解決了這個問題。 – 2012-03-29 19:25:11

0

在猜測 - 這是一個完整的WAG - 您正在使用Berkeley DB backed repository並通過file://或svn + ssh://訪問repo。

使用BDB支持的回購的最佳實踐是僅通過svnserve(svn://)或apache dav_svn模塊(http://)訪問 - 這有助於消除數據庫日誌文件的文件所有權的幾個問題。如果你需要運行一個BDB倉庫,並且你需要通過svn + ssh://或者file://來訪問,你應該查看版本控制的Subversion版本Supporting Multiple Repository Access Methods部分。

如果你不特別綁定BDB回購,我會看看FSFS回購。他們沒有很多BDB回購的問題。

如果您已經在運行FSFS回購,那麼您已經擁有了我。我不認爲有可能對FSFS進行回購。