如何处理 SVN 中的应用程序品牌/轻微的 GUI 变化?
我们有一个移动应用程序,希望向多个 (B2B) 客户推荐。该应用程序将代表最终客户发布给他们,但所有开发工作将由我们完成。
到目前为止,我们已经构建了原型应用程序。这个版本将始终被视为主版本,并进行品牌重塑,或许还可能进行轻微的功能修改,最终成为针对特定客户的具体版本。最终,原型应用程序将会有多种变体。
功能和错误修复将在原型应用程序中开发,我们希望使用 SVN 将这些更改合并到特定的客户端应用程序中。不同的具体应用程序将有自己的生命周期和版本控制。
我们应该使用分支、带有变更集的不同存储库……吗?谁能告诉我们如何组织 SVN 存储库来实现这一点?
We have a mobile app that we want to propose to multiple (B2B) clients. The app will be published to end customers on their behalf, but all the development will be done by us.
So far, we've built the prototype application. This one will be always be taken as master and undergo rebranding and maybe slight functional modification to end up as a concrete version for a specific customer. Eventually, there will be multiple variations of the prototype application.
Features and bugfixes will be developed in the prototype application and we want to use SVN to merge these changes into the specific client applications. The different concrete applications will have their own lifecycle and versionning each.
Should we use branches, different repositories with changesets,...? Can anyone give us a head start on how we should organize our SVN repository/ies to enable this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果每个具体安装都有自己的生命周期和版本控制,那么您将需要能够独立地分支和标记每个安装。但是,为了简化将原型更改合并到每个特定版本的过程,所有版本都应位于同一存储库中。
所以我会按照以下方式构建一个存储库:
如果有任何适用于所有安装的通用代码(即白标代码),那么我会将其存储在一个单独的(通用)存储库中,并通过 SVN 外部引入 dll。
其中 ExtLib 表示指向通用代码的特定标记修订版的链接。
基本上,在原型/特定版本分支中保留尽可能少的代码。
If each concrete installation will have it's own lifecycle and versioning, then you will need the ability to branch and tag each one independently. However, to simplify merging changes from the prototype into each specific version, all versions should be in the same repository.
So I would build a repository along the lines of:
If there is any common code that applies to all installations (i.e. white-labelled code) then I would store that in a separate (Common) repository and bring in the dlls via SVN Externals.
Where ExtLib represents a link into a specific Tagged Revision of the Common Code.
Basically, keep as little code as required in the Prototype/Specific Version branches.