2014-11-21 38 views
0

想象一下,你在SVN有幾個項目:分支問題爲開發新的功能(依賴於其他項目)

SVN 
|-- Project_A 
    |-- trunk 
    |-- branches 
    |-- tags 
|-- Project_B 
|-- Project_C 
|-- Project_D 

所有的項目也有樹幹,樹枝,標籤結構中Project_A。 Project_B用於Project_A(例如,在.exe中使用.dll)。

現在,我想添加一個功能到Project_A,所以我創建了一個新的分支在Project_A\branches\Feature_A下。在開發Feature_A時,我面臨的情況是 我還需要在Project_B(添加將被Feature_A使用的\ change代碼)中進行一些更改。

因此,邏輯上,我創建了新分支Project_B\branches\Code_changes_for_feature_A。 當我完成 - 合併Code_changes_for_feature_AProject_B\trunk完成後,我可以返回到開發Feature_A。 到目前爲止好...

但是做什麼,如果不僅在Project_B而且在其他項目(Project_CProject_D等)Feature_A requiers變化?我是否應該每次在每個項目中創建新的 分支機構?我的頭頂有點像我。

是否有可能創建分支,將聚合(包含所有文件)Project_AProject_B例如?

回答

0

我應該每次在每個項目中創建新的分支機構嗎?

這樣做。但是,從另一端,你可以嘗試使用 「懶辦法」:

  • 創建彼此相依(B | C | d | ...(SVN的外部和SVN 1.8 *不是強制性的,但首選。) )庫永久WIP分支
  • 鏈接從Project_A特性分支這個分支的PEG-修訂
  • 合併取決於最終變成相應的樹幹和外部組件爲主幹的變化定義也合併Project_A的devel的到後行李箱
  • 保持WIPS同步在從屬項目的中繼線中進行更改(獨立於WIP)

而不是「每次更改分支」,您將使用「每次更改範圍」來計算WIP更改的更難恢復歷史記錄的成本:您必須始終寫出良好的提交消息