1
我有大型存儲庫,我想刪除最早的6000個修訂版本。如果我也可以在中間刪除不需要的修改組,那將是非常好的。如何從Subversion中刪除大量修訂
我已經想通了如何消除不需要的文件和分支,但我仍然留下了很多不需要的修訂。
感謝
我有大型存儲庫,我想刪除最早的6000個修訂版本。如果我也可以在中間刪除不需要的修改組,那將是非常好的。如何從Subversion中刪除大量修訂
我已經想通了如何消除不需要的文件和分支,但我仍然留下了很多不需要的修訂。
感謝
您需要使用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 dump和svndumpfilter