2011-01-28 152 views
2

我的同事和我一直在爲我們的項目使用SVN。過去幾周我們一直在同一個分支工作,根據需要提交和合並文件。三天前,我們的SVN服務器死亡,我們丟失了所有的數據。我(愚蠢地)沒有定期備份到一臺單獨的服務器,所以我擁有的最好的備份是200個版本,落後於我們。數據丟失後恢復SVN

有什麼辦法讓我們的簽出副本全部正確合併,並返回到SVN?

我不在乎修訂歷史。我只想確保我擁有的所有代碼都與我的同事的代碼正確合併。

+1

我不是拖動 - 你應該轉移到混帳。這種類型的問題並不存在,您也不需要定期備份,因爲在項目上工作的每個人都已經爲您備份了該項目。 – xaxxon 2011-01-28 19:56:11

+0

我經常聽說,我相信你是對的。我從來沒有解決它。這件事可能是最後一根稻草。 – 2011-01-28 20:26:34

回答

2

第一步,我會做的是計算機抱着舊的工作拷貝版本上執行COMAND svn diff。它創建一個包含當前版本關於上次簽出的更改的diff文件。

第二次複製檢出的新版本的計算機上的簽出結構,並將其從崩潰的存儲庫中斷開(刪除所有.svn元數據目錄)。之後將其檢入新的清潔存儲庫。

現在取先前創建的差異文件,並將其應用於剛剛簽入的工作副本。希望你只會得到一些較小的衝突,這些衝突可以由你或你的同事輕易解決。如果解決所有問題,請檢查它。

注意:本說明的目標是創建一個全新的存儲庫。沒有考慮過時的備份。

1

這應有助於:

svnadmin recover <svn path> 

OR

svnadmin verify <svn path>