2011-04-05 56 views
2

我有一個SVN倉庫,其中包含多個頂級文件夾,每個項目一個。每個項目文件夾內都是通常的主幹,分支,標籤。將單個SVN文件夾移動到新的存儲庫 - 如何?

我需要將其中一個項目文件夾移動到其自己的獨立存儲庫中以便導出並隨後導入到另一個服務器。新的單個項目資源庫必須僅包含該項目的修訂歷史記錄,而不包含其他項目的修訂歷史記錄。

關於如何最好地進行的任何想法?

服務器是Windows上的VisualSVN服務器,雖然這不應該有任何區別。

回答

8

您可以使用svnadmin dump,通過svndumpfilter管道輸出,並輸出到svnadmin load

svndumpfilter被做成你想做的事。您可以使用include子命令在存儲庫中指定所需的項目,並省略其餘部分。

svnadmin load允許您指定要在其中存儲輸出的存儲庫中的目錄。

查看在線手冊的Repository Maintenance部分。

+1

完美的解決方案。 'svnadmin dump i:\ repos \ myrepo> myrepo.dmp' then svndumpfilter include MyProject --renumber-revs> filtered.dmp tomfanning 2011-04-05 18:27:26

+0

Use - 更快的轉儲和過濾的安靜(它不會輸出東西到控制檯) – 2015-05-07 19:57:59

1
  1. 在TortoiseSVN中,您可以選擇從 存儲庫中導出項目(剝離svn信息)。
  2. 在服務器上創建新的回購
  3. 結帳新SVN回購您的驅動器
  4. 副本導出文件到新的回購
  5. 提交。

你去,新的清潔回購。

+4

好,但沒有版本歷史保留。 – tomfanning 2011-04-05 15:30:55

+0

我認爲大多數開發人員都希望保留他們的版本歷史。 – 2015-08-27 19:23:41

+0

我不反對,版本歷史是必需的。 – PseudoNinja 2015-08-27 20:02:24

0

要做的一件事就是對該文件夾執行一系列svn轉儲的簽入操作。根據它們的修訂號命名它們。現在在您的新SVN倉庫中,按順序導入它們。如果有的話,試試它在測試回購中解決問題,但這應該是可行的。使用詳細的svndump命令here

相關問題