5

私は現在、他の 5 人の開発者と一緒にプロジェクトに取り組んでおり、バージョン管理システムに Subversion を使用しています。ソフトウェアの最初のリリースまでに 12 のマイルストーンがあることを確認しました。バージョン番号 (0.1 から 0.12) と説明的なラベルを使用して、マイルストーンにラベルを付けました。例えば:

  • 0.1 - ナビゲーション
  • 0.2 - 検索中
  • 0.3 - ユーザー管理

ただし、いくつかのマイルストーンごとに、以前のマイルストーンで構成される外部リリースがあります。したがって、次のような結果になります。

  • 0.1 - ナビゲーション
  • 0.2 - 検索中
  • 0.3 - ユーザー管理
  • 0.4 - アルファ 1

これらの各マイルストーンは並行して開発できますが、並行して QA も行う必要があります。これは、マイルストーンのバージョン番号だけでラベル付けされた各マイルストーンの Subversion にブランチを作成することで実現しています。自動化されたシステムが各マイルストーンを個別に構築し、マイルストーン番号とアプリケーションの構築元であるサブバージョン リビジョン番号を使用してアプリケーションをバージョン管理します。バージョン番号はアプリケーション内で目立つように表示されるため、QA チームはバージョン番号を見て、それを特定のマイルストーンに関連付け、QA が必要なものとそうでないものを知ることができます。マイルストーンが QA に合格すると、トランクにマージされ、進行中の開発は最新のコードで更新されます。

ただし、バージョン番号の増加には以前のすべてのバージョンが含まれるという仮定があります (当然のことです)。残念ながら、上記のスキームでは、あるマイルストーンが別のマイルストーンより先に終了する可能性があるため、これは発生しない可能性があります。たとえば、0.3 は 0.1 より前に終了する可能性があります。つまり、0.2 または 0.1 の機能を含まない 0.3 の内部リリースがあるということです。

これは私の問題です。複数の並行リリース (内部またはその他) が非連続的に完了する可能性がある場合、ソフトウェアをインテリジェントにバージョン管理するにはどうすればよいですか?

4

3 に答える 3

2

並行開発と一連のマイルストーンという相反する目標があるため、それができるとは思いません。

0.1 と 0.2 が完了するまで 0.3 のリリースを延期するか、マイルストーン番号を割り当てる別の方法を考えなければなりません。

0.1 などを使用する代わりに、マイルストーンが何であるかに基づいて名前を付けることができます。これにより、明確さが増し、混乱がなくなります。

于 2008-10-08T22:19:44.190 に答える
1

なぜブランチを数字で区別するのか、少し混乱しています。機能に従って各ブランチに名前を付け (例: vehicle-doors、 vehicle-steeringwheel)、バージョン番号を使用して各ブランチの進行状況を追跡します (vehicle-doors v0.1、0.2 など)。

ただし、後で統合するつもりなら、本当に、本当に注意しない限り、地獄になるでしょう。これを管理するのがいかに非常識になるかを検討することをお勧めします。

于 2008-10-08T23:13:31.273 に答える
1

内部マイルストーンには実際の順序がないため、外部リリースのマイナー バージョン番号を保持し、機能を反映するブランチ名を付け、サブバージョン リビジョンを追加して内部リリースを識別したいと思います。外部リリースはきれいな 0.1、0.2、0.3 バージョンになり、0.2.1234 の内部リリースにより、外部リリース 0.2 とこのリリースの間のトランクにマージされたものを正確に Subversion で簡単にチェックできます。

于 2008-10-08T22:24:12.823 に答える