2009-06-03 107 views
2

我試圖轉儲我們的SVN存儲庫,所以我可以將其遷移到較新的硬件。其中一個版本的給了我一個問題,但讓我試着跳過或「跳」那個版本從數傾銷到一個更高的版本號,但問題依然存在:恢復空的SVN DB文件

的svnadmin:無法讀取文件「d:\庫\ REPO_NAME \分貝\轉速\ 3677' :文件結束髮現

的是,我執行以下命令:

svnadmin的轉儲d:\庫\ REPO_NAME --revision 4000:5000> d :\ 4000_5000.dmp

因此,這是s無法將修訂版本4000轉換爲5000,但是由於某種原因,版本範圍會降低修訂版本。

所以我去了db/revs目錄,看看發生了什麼衝突的文件,文件是空的,零字節。

我經歷了所有的「SVN紅書」,SVN文檔和谷歌,但發現沒有什麼看,有修復版本庫的例子很多,但沒有一次成功,爲〔實施例,運行svnadmin的恢復拋出另一個錯誤:

「試圖移動文件指針vefore的文件的開頭」

所以我現在有點失落,有什麼辦法來恢復一個空文件或從排除轉儲所以它不會影響高版本?

回答

0

Is there any way to recover an empty file ?

顯然,答案是沒有。您必須從備份中恢復修訂文件。

or exclude it from the dump so it does not affect highe revisions

有可能得到這個工作與--incremental開關:

svn dump D:\repositories\REPO_NAME --incremental --revision 4000:5000 > D:\4000_5000.dmp

但是,它不會抱怨,但你會遇到一些問題svnadmin的負載來組裝你的資料庫,因爲它會抱怨一些缺失的節點(如果它們是在rev 3677中添加的)。但是這可以讓你知道修訂版3677中發生了什麼。