2012-02-13 61 views
1

我不得不從備份中恢復,並令人驚訝的是用後一個SVN倉庫有問題。 此存儲庫上的每個操作都失敗,我無法檢出,導出,甚至無法恢復。 「svnadmin recover的輸出是」:svnadmin:預計當前轉速爲51,但發現52svnadmin的:期望當前版本是51,但發現有52

代碼是安全的,因爲有工作副本,但是如何才能使該資源庫再次可用?

+0

你能'svnadmin的dump'文檔comparing FS_FS to FS_Base that I found嗎? – 2012-02-13 16:21:38

+0

是的,它只會轉儲最後一個版本。我想這有幫助,謝謝! – 2012-02-13 17:19:48

+0

你如何做你的備份?聽起來可能會有一個問題,只有一半版本的備份修訂? – vinnyjames 2012-02-13 23:02:06

回答

0

您可能想要從SVN documentation about the FS_FS backend.讀取但基本上,repo中名爲「db/current」的文件是帶有最新版本號的文本文件,而db/revs /是包含每個修訂版文件的文件夾(在1.5之後,可能會在分片文件夾中分割)。

如果您的備份工具損壞爲rev /並備份所有文件,並且用戶在備份時進行了提交,則可能在轉儲文件從db/transactions/to db/revs/BUT仍然備份已增加的db/current文件。也就是說,您有51次修訂版本,但最新的提交列表「52」是最新的!

推薦的方法,以確保一致的備份是忽略DB /交易(因爲這是同時建立了REV使用暫存空間)和備份DB /電流之前備份DB /轉速。這裏最糟糕的情況是revs /可能包含52個修訂版和當前點數爲51.這是一致的,一切都會正常工作。 「svnadmin recovery」甚至會爲你解決這個問題。

但是,如果你沒有備份DB /電流第一(因爲你沒有)這是非常簡單的用vim,nano或其他文本編輯器打開它,並簡單地減少數量。在你的情況下,將52更改爲51,並且所有內容都應該正確驗證。

有關備份的部分也記錄從當FS_FS首次推出

相關問題