使用版本控制管理免费增值应用程序



>我正在编写一个iOS应用程序,该应用程序从免费版本开始,并且与许多应用程序一样,在付费应用程序中或通过应用程序内购买提供扩展功能。

我目前使用 mercurial 作为免费应用程序的版本控制,现在我们也想发布付费应用程序。我想知道是否有任何方法(理想情况下,尽管不一定是反复无常)让它们都共享代码库的主要部分,以便一个中的错误修复会自动影响另一个,但显然保持差异分开。

或者,有没有办法使用分支或类似方法,可以轻松地手动合并更改?

尝试在网上搜索,但我不确定我是否找不到正确的关键字,或者这实际上是不可能的。此外,我从未完全了解分支。

我假设您将付费和免费版本都保密。

为什么不把所有东西放在一起,并通过带有特定标志的编译器来区分两者呢?因此,"制作免费版本"和"制作付费版本"有所不同。

如果你坚持将付费版和免费

版的历史分开,我认为使用"免费"、"付费"和"分享"三个分支。 不断将"共享"合并到其他两个(或者像 Lazy Badger 建议的那样,使用"仅付费"分支)。

据我所知,Python使用前向移植,他们的做法应该会有所帮助。

您至少有两个模型

基于分支

两个分支

  • 主线的分支付费分支(默认分支)
  • 将常用功能和错误修复/更改添加到默认值
  • 将默认合并付费
  • 在付费分支中开发仅限付费的功能
  • 从 2 个分支的负责人发布版本

每个任务的分支数

  • (同上)
  • 在单独的命名分支中对每个任务进行编码
  • 将完成的分支合并为单个 (PAID) 或两个产品的分支

单个分支中的 MQ 补丁

  • 添加,启用 MQ 扩展
  • 像以前一样将核心(免费版本)存储在存储库的变更集中
  • 将付费更改和添加添加为单独的 MQ 补丁
  • 将常见更改实现为变更集
  • 添加/编辑仅限付费功能的 MQ 补丁
  • 所有未应用补丁的存储库将是免费版本,所有补丁均已应用 - 付费。

最新更新