1

Mercurial タグを使用してバージョン番号を処理できる Mercurial の拡張機能を開発しています。現在、指定されたバージョン番号がリポジトリ内の他のバージョン番号と正しい順序であるかどうか、および以前のバージョン番号から離れすぎていないかどうかを確認します。

ただし、現時点では、リポジトリにブランチが 1 つしかない場合にのみ機能します。ブランチなどを含むレポ、分岐開発ライン (名前のないブランチのようなもの) を含むレポで運用できるようにしようとしています。難しい部分の 1 つは、ユーザーができることとできないことを定義することです。たとえば、ブランチ A にバージョン 1.1 とブランチ BI に 1.0.1 がある場合、ブランチ B は常に 1.1 未満にとどまる必要があると考えます。ブランチ開発でバージョン番号を管理するさまざまな方法に慣れていないので、ユースケースとその処理方法を収集したいと思います。

そのため、誰かがこの問題について既に調査を行っているか、この問題を解決するのに役立つ良い情報源を知っているかどうかを知りたい. 処理するユース ケースを送信することもできます。

明らかに、私はいくつかの調査を行いましたが、本当に関連するものは見つかりませんでした. おそらく、簡潔で検索エンジンの包括的な方法で問題を表現する方法がわからないためです。

編集:これが私が今のところ理解した「ルール」です:

  • 各ブランチで、バージョン番号は以前のものより高くする必要があります (ただし、高くなりすぎないようにしてください)。
  • ブランチを作成するとき、以前のものよりも高い任意のバージョン番号を付けることができます。
  • 各ブランチで最初のバージョン番号が定義されると、ブランチ全体の順序が定義されます。ブランチが別のブランチを追い越すことはできません。
  • これらのルールは、以降のすべてのブランチに継承されます。
  • 2 つのブランチをマージする場合 (実際にはそれが厄介な部分です)、共通の気まぐれな態度は、マージの結果をローカル ブランチの一部と見なすことです。私の場合、それは正しい動作ではないようです。1.0.3 ブランチを 1.0.3 の 1.1.0 バージョンとマージすると、このブランチが他のブランチよりも下にあるため、1.1.0 より前のバージョンしか使用できないというのは非常に奇妙です。ここで提案する解決策は、マージを常に最上位のブランチの一部として扱うことです。そうしないと、一部のブランチが後退します。

これが一貫しているかどうか、またはいくつかの重要なユースケースを見逃しているかどうか教えていただけますか.

質問の最初の部分はまだ話題になっています。この件に関する関連情報を知っている場合、または同様の問題を知っている場合は、教えてください.

4

0 に答える 0