這可能聽起來很愚蠢,但有時我遇到兩個版本的顛覆之間的版本衝突。我用sshfs在開發服務器上安裝一個目錄,然後用我的本地Vim編輯代碼。對於像更新,提交等顛覆的東西我在服務器上ssh並在那裏做。但是,有時我混淆了我的shell,並意外地在安裝目錄的本地shell中執行更新或提交。 Subversion退出時出現錯誤,這很好。但是,當我嘗試在我的ssh會話中在開發服務器上做同樣的事情時,subversion說工作目錄/ subversion的版本有誤。服務器上的Subversion版本比筆記本上的版本舊,所以我想我的(更新的)版本以某種方式升級工作目錄,以使它們與開發服務器上的舊版本不兼容。有時刪除.svn/lock文件會有所幫助,但前提是我在我的筆記本上執行了subversion命令後立即執行此操作。之後,當我在開發服務器上執行該命令時,鎖定文件消失,並且我看不到救援結帳的方法。如果存儲庫不那麼大,這不會那麼糟糕。特別是當我做出很多改變並且不能提交時。如何修復「升級」的顛覆工作目錄?
我看到目前唯一的解決辦法是複製我的地方更改的文件,刪除結賬,做一個完整的新的結算和文件複製回。
有沒有更好的解決辦法來拯救一個破碎的檢驗和/或更改?
UPDATE 常見問題Mikael Sundberg鏈接包含答案。我把它寫在這裏,因爲他沒有明確提及它。還有,可以降級升級庫腳本,當它是安全的:
http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py
謝謝,但在版本庫升級之後,Subversion不再執行任何*命令,甚至沒有`log`或`status`,所以你的解決方案將無法工作。 – jkramer 2008-09-25 20:09:02