2017-09-21 10 views
1

私は意味論的なバージョン管理を使ってソフトウェアを作成します。ブレーキングの変更があっても導入されているが、メジャーバージョンがすでに導入されているときには、意味論的なバージョン管理には何が書かれていますか?

[1.0.0]<--[1.0.1] 

いくつかの点で、いくつかの大きな変更を導入する必要があります。私はブランチ2.0を追加し、1.0も維持することにしました。

[1.0.0]<--[1.0.1]<--[2.0.0]<--[2.0.1] 

そして、開発が続けられます。

    /-[2.0.0]<--[2.0.1]<--[2.0.2] 
        | 
[1.0.0]<--[1.0.1]<--[1.0.2] 

今、私は1.0の新機能を導入する必要があるので、ブランチ1.1を開始することにしました。

    /-[2.0.0]<--[2.0.1]<--[2.0.2] 
        | 
        |   /-[1.1.0]<--[1.1.1]<--[1.1.2] 
        |   | 
[1.0.0]<--[1.0.1]<--[1.0.2]<--[1.0.3] 

今、バージョン1.1ではBCを導入する必要がありますが、検証2.0は既に存在します。セマンティカルなバージョン管理は、メジャーバージョンを増やすと述べています。しかし、メジャーバージョンが過去に増えたらどうなるでしょうか?バージョン3.0の時間ですか? 3.0と2.0は相違していますか?

答えて

1

変更を行うときは、メジャーバージョンを増やす必要があります。 SemVer specには、増分が正確に1である必要はありません。BCのセットを製品ラインのヘッドではなくメンテナンスフォークに適用する必要がある場合は、実際には2つの製品を念頭に置き、独自のバージョントラックを持つ新しいファイルを作成します。この仕様では、2.x.xと1.x.xに関連する3.x.xは必要ありませんが、系列が保持していないことは珍しいことです。

製品のフォーク(ブランチ)の場合は、各ブランチのバージョンを別々にバージョン管理することもできますが、複数のProd.x.y.zをリリースしてはいけません。おそらくProd.B1.x.y.zとProd.B2.x.y.zです。

関連する問題