我们有一个移动应用程序,我们想向多个(B2B)客户提出建议。该应用程序将代表他们发布给最终客户,但所有开发都将由我们完成。
到目前为止,我们已经构建了原型应用程序。这个将永远被视为主人,并进行品牌重塑和可能轻微的功能修改,最终成为特定客户的具体版本。最终,原型应用程序会有多种变体。
将在原型应用程序中开发功能和错误修正,我们希望使用SVN将这些更改合并到特定的客户端应用程序中。不同的具体应用程序将各自拥有自己的生命周期和版本。
我们应该使用分支机构,不同的存储库和变更集,......?任何人都可以给我们一个良好的开端,我们应该如何组织我们的SVN存储库/ ies来启用它?
答案 0 :(得分:0)
如果每个具体安装都有自己的生命周期和版本控制,那么您将需要能够独立地分支和标记每个安装。但是,为了简化从原型到每个特定版本的合并更改,所有版本都应位于同一个存储库中。
所以我将按照以下方式构建一个存储库:
Prototype
Branches
Tags
Trunk
SpecificTypeA
Branches
Tags
Trunk
Common
Branches
Tags
Trunk
如果有任何公共代码适用于所有安装(即白标代码),那么我会将其存储在一个单独的(公共)存储库中,并通过SVN Externals引入dll。
SpecificTypeA
Trunk
Src
ExtLib*
其中ExtLib表示公共代码的特定标记修订版的链接。
基本上,保留原型/特定版本分支中所需的少量代码。