2009-05-25 83 views
1

我正在使用cvs2svn將大型多項目CVS存儲庫轉換爲Subversion。它的工作非常好,但有一些CVS項目真的應該成爲其他項目的分支機構。使用CVS時需要將項目主幹轉換爲分支

使用選項文件我可以指定項目'ShouldBeBranch'的主幹應該放置在'/ OtherProject/branches/ShouldBeBranch'中,但是我找不到避免創建Subversion目錄的方法ShouldBeBranch項目的標籤和分支(它們是空的,但仍然創建)。

我現在看到的唯一選擇是在轉換完成後從Subversion中刪除目錄,但是我想知道是否有人知道這種方式可以在轉換過程中完成嗎?我也看過符號提示文件,但有270個項目通過索引號指定項目看起來太困難了!

非常感謝, 大衛

回答

2

假設你的「ShouldBeBranch」項目本身有分支和標籤。你想要那些最終?

如果你只想要「ShouldBeBranch」項目的樹幹被列入轉換:

  • 排除所有其他符號從「ShouldBeBranch」項目
  • 設置其trunk_path的路徑內其他項目
  • 設置branches_path和tags_path爲無選項文件(這可以防止它們被創造)

你的選擇的部分文件廣告DS的「ShouldBeBranch」項目將因此包含這樣的臺詞:

run_options.add_project(
    # ... 
    trunk_path='OtherProject/branches/ShouldBeBranch', 
    branches_path=None, 
    tags_path=None, 
    # ... 
    symbol_strategy_rules=[ 
     ExcludeRegexpStrategyRule(r'.*'), 
     ], 
    ) 
+0

ShouldBeBranch卻沒有任何分支機構或自己的標籤,所以我覺得「無」的解決方案就可以了...我d在任何地方都看不到! 謝謝,大衛 – 2009-05-26 14:35:23

1

在做的修正導入好像在我身上最好的事情後。如果您將svn項目的project \ trunk移動到branch \ something,Subversion將只跟蹤歷史記錄。

這個blog post描述了一種使用轉儲/加載循環重命名路徑的方法。這樣就會改變歷史,這樣當你回顧文件的歷史時,它們似乎總是在分支內部。

如果你要回到舊版本,你會期望它是在項目\幹線。因此,我認爲嘗試改變歷史並不是一件好事。

相關問題