我需要在Windows中將SVN倉庫從一臺服務器移到另一臺服務器。訣竅是,我想從嵌套存儲庫中的項目中排除除主幹,分支和標記之外的所有內容。移動嵌套SVN倉庫
我目前有一個大型資料庫,所有的項目都在(MyBigRepo)下。目前的結構是:
/Repositories/MyBigRepo/MyProject1/trunk
/Repositories/MyBigRepo/MyProject1/branches
/Repositories/MyBigRepo/MyProject1/tags
/Repositories/MyBigRepo/MyProject2/trunk
/Repositories/MyBigRepo/MyProject2/branches
/Repositories/MyBigRepo/MyProject2/tags
/Repositories/MyBigRepo/MyProject3/trunk
/Repositories/MyBigRepo/MyProject3/branches
/Repositories/MyBigRepo/MyProject3/tags
我只想要移動MyProject1
,但我想排除主文件夾MyProject1
和正義之舉樹幹,樹枝和從MyProject1
庫標籤。我不要想要移動MyProject2
或MyProject3
。換句話說,我的目標是組成我的新庫,類似於下面。
/Repositories/NewRepo/trunk
/Repositories/NewRepo/branches
/Repositories/NewRepo/tags
這裏是我創建辦工作的批處理文件:
:: Create a dump of the old repo
svnadmin dump %OldRepoPath% > %MyBigRepoDumpFile%
:: Remove the other projects
svndumpfilter include "MyProject1" < %MyBigRepoDumpFile% > %MyProject1DumpFile%
:: Create a new repo
svnadmin create %NewRepoPath%
:: Load the dump into the new repo
svnadmin load %NewRepoPath% < %MyProject1DumpFile%
我的問題是,該批次仍然創造下%NewRepoPath%
這樣的MyProject1目錄:
/Repositories/NewRepo/MyProject1/trunk
/Repositories/NewRepo/MyProject1/branches
/Repositories/NewRepo/MyProject1/tags
是有辦法從我的轉儲文件中排除額外的級別(MyProject1),或者將它向上移動一級,仍然保留歷史記錄?
這種方法存在一個相當討厭的技術問題:同一個項目的主幹,分支和標籤通常交織在一起,svndumpfilter將無法將它們分開。我試圖做一次類似的事情 - 浪費了幾天時間,最後放棄了。 –
當我運行'svndumpfilter包含「trunk」「branches」「tags」<%MyProject1DumpFile%>%MyProject1DumpFile%'時,我得到一個空的轉儲文件。你知道這可能是爲什麼嗎? – jags0333