0

想知道人们是否有关于如何管理分支和合并的建议,以了解我们“想要”如何处理对 AspDotNetStorefront 使用的自定义。基本上,我们偶尔会获得 AspDotNetStorefront 的更新,并且需要在两个级别应用自定义:全局自定义和客户端自定义。假设我们有以下作为一个简单的例子:

  • AspDotNetStorefront 在 SVN 中设置
  • AspDotNetStorefront 分支到 AspDotNetStorefront_v1.0
  • AspDotNetStorefront_v1.0 分支到 AspDotNetStorefront_v1.0_Cust
  • AspDotNetStorefront_v1.0_Cust 被修改并提交
  • AspDotNetStorefront_v1.0_Cust 分支到 ClientA_v1.0,在此进行其他更改
  • AspDotNetStorefront_v1.0_Cust 分支到 ClientB_v1.0,在此处进行了其他更改

这基本上就是我们今天所处的位置。现在,如果 AspDotNetStorefront 2.0 版问世,我们不知道该怎么办。我想做以下事情,但我不确定:

  • 将 AspDotNetStorefront 分支到 AspDotNetStorefront_v2.0,覆盖新的源代码,提交
  • 将 AspDotNetStorefront_v2.0 分支到 AspDotNetStorefront_v2.0_Cust
  • 将 AspDotNetStorefront_v1.0_Cust 合并到 AspDotNetStorefront_v2.0_Cust、测试、调整、提交
  • 将 AspDotNetStorefront_v2.0_Cust 分支到 ClientA_v2.0
  • 将 ClientA_v1.0 合并到 ClientA_v2.0,测试调整,提交
  • 对 ClientB 重复最后两个步骤

我在这里完全脱离基地吗?我们第一次尝试将制造商代码集成到实际修改制造商代码的 SVN 结构中(而不是仅仅用螺栓固定或插入)。对文档的任何引用都会有所帮助。另外,我可能只是不知道这种类型的模型的术语来搜索它,所以如果有这种类型的活动的术语也会有帮助。

谢谢!

4

1 回答 1

0

你今天的样子……

AspDotNetStorefront 
        --->  AspDotNetStorefront_v1.0
                     --->  AspDotNetStorefront_v1.0_Cust  [*]
                                        ---> ClientA_v1.0 [*]
                                        ---> ClientB_v1.0 [*]

我假设您想保留AspDotNetStorefront_v2.0,CustClient*分支;这似乎是一个非常难以管理的情况......答案取决于事实

AspDotNetStorefront_v1.0从to的变化幅度是更多还是和分支AspDotNetStorefront_v2.0之间的增量?CustClient*

您应该选择修补最少的工作,因为这样合并会更容易,并且可以避免回归问题。

AspDotNetStorefront 
        --->  AspDotNetStorefront_v1.0 + (Upgrade Code to v2.0)
                     --->  AspDotNetStorefront_v1.0_Cust + Upgrade Code to v2.0
                                        ---> ClientA_v1.0 + Upgrade Code to v2.0
                                        ---> ClientB_v1.0 + Upgrade Code to v2.0

由于您似乎需要保持所有这些分支完好无损,所以这就是您最终会得到的结构。

于 2012-08-08T17:57:47.570 回答