2017-04-14 80 views
0

我需要從我的SVN倉庫中提取文件夾並保留其歷史記錄。所以我決定使用svnadmin dump命令。我的SVN回購是巨大的 - 100 GB和120K的修訂。 IM使用這個命令:無法從100Gb SVN倉庫轉儲文件夾

svnadmin dump D:\Repositories\SvnRepository -r 107968 | svndumpfilter --drop-empty-revs include src/build/BambooScripts | "%ProgramFiles%\7-Zip\7z.exe" a d:\temp\backup.7z -si dump.svn 

所以我指着一個修訂版,與我的文件夾路徑應用過濾器和zip壓縮的輸出。現在這個命令已經運行了4個小時。我沒有看到控制檯中的任何進度或消息。那麼我該如何加速這個過程,或者至少估計剩餘時間呢?或者可能有另一種更好的方法從歷史庫中提取文件夾?

回答

0

svnadmin dump轉儲存儲庫中的所有路徑。根據存儲庫的大小,即使對於單個修訂版本,這也需要很長時間(SVN必須轉儲所有(該修訂版存在)。 SVN在單次修改轉儲期間不會給你任何進度更新。但是,您可以查看轉儲文件(注意不要使用自動轉換末尾字符的編輯器),但如果由於轉儲文件的大小而無法打開,則這可能不切實際。

如果你只是需要從信息庫中的單個文件夾,你可能需要使用svnrdump

你甚至可以轉儲信息庫的一個子樹 - 這 svnadmin的轉儲不能做。

http://svnbook.red-bean.com/en/1.7/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate

你的情況:

svnrdump dump file:///D:/Repositories/SvnRepository/SomeFolder -r start:end > dumpfile 

沒有 「--drop空 - 轉速」 選項svnrdump但你可以擺脫與過濾流空修訂:

svndumpfilter --drop-all-empty-revs include/<dumpfile> filtered_dumpfile