0

共通のニーズを持つさまざまなクライアント向けのソフトウェアを開発しているとします。私は単一の開発ラインでシステムを開発していますが、それで問題ありません。各クライアントにはサーバーにインストールされたソフトウェアがあり、更新は bitbucket リポジトリからプルすることによって行われます。

後で、クライアントの 1 人が、自分のニーズに合わせてカスタム モジュールを要求しました。他のクライアントにも、他のカスタム ニーズがある場合があります。

私の問題は次のとおりです。カスタマイズ、開発のメインラインの新しいバージョンのプル (更新)、およびカスタムが存在する場合のみのカスタムをどのように管理できますか?

4

1 に答える 1

0

1 つのオプション: カスタマイズを Mercurial で管理するのではなく、コードベースの一部にする。これには多くの正当な理由があります。たとえば、フォークして別のバージョンのコードを維持したり、リポジトリ ツリーの別のブランチを維持したりする危険がないからです。どちらも問題につながる可能性のある非常に退屈なタスクなので、私があなたなら、それを好むでしょう. それはあなたの言語に依存しますが、私は MainCodeBase にモジュールの負荷を保持し、ユーザーがどのモジュールを使用するかを設定できるようにすることを目指しています。

2 番目のオプション: サブリポジトリ。その顧客のモジュールを含み、MainCodeBase のサブリポジトリを持つ Customer1 のリポジトリを作成します。Customer1 は、リポジトリを再帰的にプルして、最新のモジュールと最新の MainCodeBase を取得するだけです。ここでの問題は、複数の顧客に同じモジュールを使用してもらいたい場合に醜くなり始めることです。

于 2012-08-09T09:20:50.547 に答える