2012-05-15 82 views
2

我們的一些開發團隊遇到了工作副本的問題,看起來wc.db數據庫已損壞。有沒有快速的方法來修復或重建數據庫,而不是做一個新的結帳?重新創建SVN wc.db

該錯誤消息我得到的是「沒有這樣的表:wcroot」,而操作系統是Windows 7  使用TortoiseSVN 1.7.6。

即使這是一個特定的錯誤,當SQLite數據庫除了執行完整結帳之外還損壞時,最佳選擇是什麼?

+0

請提供其他信息,如:確切的錯誤消息,svn客戶端(+版本),svn服務器和操作系統 –

回答

2

SmartSVN提出了一種修復某些類型或wc.db損壞(修改|驗證管理區域)的工具,從存儲庫中檢索丟失/不正確的信息。我不確定它會有幫助,但只是嘗試。

+0

謝謝,我會嘗試SmartSVN。我希望找到一個我可以編寫腳本的解決方案,或者至少可以在SVN中有一個命令來重做數據庫。 –

3

簡單,只是降級。

將所有元數據放入SQLite數據庫是完全沒有邏輯的; Subversion開發者並不那麼光明。以前,您的.svn文件遍佈您的結帳... .svn文件夾被擰緊;它偶爾會發生。簡單:重命名,再次檢查,合併本地更改 - 使用Subversion 1.7,解決方案是「請再次檢查10G」。

如果你有一個大項目,像我一樣(超過10   GB),並且你不能每月檢查整個東西,那麼降級Subversion。

+1

稀疏結賬是你想要的。事實上,我還沒有看到損壞的wc.db,並且在互聯網上有很少的腐敗報告。這就是說,我剛剛看過問題的日期! – gbjbaanb

+1

是的,這很少見,但我們的結賬超過了150GB,而且這些都是稀疏的結賬。真正的問題是缺乏良好的開源/免費內容管理,因爲大多數大文件都是資產,我在電子遊戲行業。 –

+0

@JohnBowker你需要做的就是使用subversion <1.7,到目前爲止,這對我來說非常有效。 – thecarpy

0

不知道問題是什麼,很難診斷。最簡單的方法是執行新的結帳(然後複製或合併任何本地更改)。

有一些建議,你可以試試listed here

0

我有同樣的問題,因爲我的機器的原因是存儲空間不足。 釋放一些空間後,他們的問題消失了。