2012-09-30 43 views
1

我有大型存儲庫,我想刪除最早的6000個修訂版本。如果我也可以在中間刪除不需要的修改組,那將是非常好的。如何從Subversion中刪除大量修訂

我已經想通了如何消除不需要的文件和分支,但我仍然留下了很多不需要的修訂。

感謝

回答

1

您需要使用svnadmin的轉儲命令,您可以創建不受任意修改轉儲文件,該過濾器後,在/排除某些路徑。 語法是:

svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [--incremental] 

一個例子:你想從你的repostory排除修訂10-99:

svnadmin dump REPOS_PATH -r 0:9 > my_dump_file.dmp 
svnadmin dump REPOS_PATH -r 100:HEAD > my_dump_file.dmp --incremental 

存在一些問題:文件

  • 變化在rev 100之後你已經在rev 10-99中添加了我的例子會創建一個錯誤信息,你需要將它們從回購中刪除

  • 刪除稍後用作複製源的文件也會導致轉儲文件中的錯誤。

這兩個限制都可以避免,但是它需要更多的轉儲/過濾/加載週期迭代以及更多的時間。當你的時間到了處理這些邊界病例時,由你決定。

使用svnbook來閱讀詳細信息svnadmin dumpsvndumpfilter

相關問題