1

私は、無料版から始めた iOS アプリケーションを作成しています。多くのアプリと同じように、有料アプリまたはアプリ内購入を通じて拡張機能を提供しています。

私は現在、無料アプリのバージョン管理に mercurial を使用していますが、有料アプリもリリースしたいと考えています。どちらか一方のバグ修正が自動的にもう一方に影響を与え、明らかに違いを分けておくように、両方がコードベースの主要部分を共有し続ける方法 (理想的には、必ずしもそうではありませんが、Mercurial を使用) があるかどうか疑問に思っていました。

または、変更を手動で簡単にマージできるブランチなどを使用する方法はありますか?

Web を検索してみましたが、適切なキーワードが見つからなかったか、それとも実際には不可能なのかわかりません。また、ブランチを完全に理解したことがありませんでした。

4

2 に答える 2

2

少なくとも2つのモデルがあります

ブランチベース

2つのブランチ

  • メインラインからの有料ブランチの分岐(デフォルトのブランチ)
  • 共通の機能とバグ修正/変更をデフォルトに追加
  • デフォルトPAIDにマージ
  • PAIDブランチでPAIDのみの機能を開発する
  • 2つのブランチのヘッドからバージョンをリリース

タスクごとのブランチ

  • (同上)
  • すべてのタスクを個別の名前付きブランチにコーディングします
  • 完成したブランチを単一(PAID)または両方の製品のブランチにマージします

MQ-単一ブランチのパッチ

  • MQ拡張機能を追加して有効にします
  • 以前と同じようにコア(無料バージョン)をリポジトリのチェンジセットに保存します
  • 有料の変更と追加を個別のMQパッチとして追加する
  • 一般的な変更をチェンジセットとして実装する
  • 有料のみの機能のMQパッチを追加/編集する
  • すべてのパッチが適用されていないリポジトリは、すべて適用された無料バージョンになります-有料。
于 2013-01-23T16:02:49.763 に答える
2

有料版と無料版の両方を非公開にしていると思います。

すべてをまとめて、特定のフラグを持つコンパイラで 2 つを区別してみませんか? したがって、違いを生むのは「無料版を作成する」と「有料版を作成する」ことです。

有料版と無料版の履歴を分けることにこだわるなら、「無料」「有料」「共有」の3つに分かれると思います。常に「共有」を他の2つにマージします(または、レイジーバジャーが提案したように、「有料のみ」ブランチを使用します)。

私が知る限り、Python はフォワード ポーティングを使用しており、そのプラクティスは役立つはずです。

于 2013-01-24T23:25:23.530 に答える