プロセスのオーバーヘッド/監査を回避するためだけに、通常の規則をバイパスしているようです。それは...に関する懸念として私を打つ。
あなたがしているのは、機能/マイナーバージョン番号を元の場所に戻し、内部監査基準をトリガーしないように、意図的に余分なバージョン番号(マイナーPCI桁)を効果的に作成することです。
とにかく、セマンティックバージョニングに関する質問に答えると、セマンティックバージョニングの仕様は次のように述べています。
バージョン番号MAJOR.MINOR.PATCHを指定して、次の値を増やします。
- 互換性のないAPIを変更した場合のメジャーバージョン、
- 下位互換性のある方法で機能を追加する場合のマイナーバージョン
- 後方互換性のあるバグ修正を行うときのパッチバージョン。
- プレリリースおよびビルドメタデータの追加ラベルは、MAJOR.MINOR.PATCH形式の拡張機能として利用できます。
強調鉱山。
質問は、プレリリース/ビルドメタデータに4番目の文字を使用していますか?それとも、基本的にはリリースしていることを示す別のバージョンですか?
「はい」の場合、セマンティックバージョニングの仕様では許可されています。「no」の場合、技術的にはセマンティックバージョニングに従っていません。
そして、より高レベルでより議論の余地のある副質問として、それは本当に重要なのでしょうか?
厳密にそれに従うかどうかは、あなたとあなたのチームが決めなければならない決定です。セマンティックバージョニングの目的は、APIの互換性を支援することです。
APIに影響しないバグ修正はパッチバージョンを増分し、後方互換性のあるAPIの追加/変更はマイナーバージョンを増分し、後方互換性のないAPIの変更はメジャーバージョンを増分します。
このシステムを「セマンティックバージョニング」と呼びます。このスキームでは、バージョン番号とその変更方法が、基礎となるコードと、あるバージョンから次のバージョンに変更されたものについての意味を伝えます。
これは、バージョン管理がAPIのダウンストリームユーザーに影響を与える場合に、より明確にするのに役立つシステムです。
APIが同様に明確である限り、どの方法を選択しても大した問題ではありません。たとえば、3.4.2を使用していて3.4.10にアップグレードする必要がある場合など、セマンティックバージョニングは簡単です。新しいバージョンが3.5.1である場合、下位互換性があることがわかります。そして、バージョン4.0.1は重大な変更になることを知っています。
それはすべてバージョン番号の意味の一部です。
@enderlandはい基本的に。MAJOR(PCI).MINOR(PCI).FEATURE.HOTFIX + BUILD。基本的に、PCI(およびその後の会社のPCIの支配者)を関与させることなく、3番目と4番目のコンポーネントのみを変更できます。私には、これは少し不自然であるように感じます。バージョン番号を管理する方法が正当化されるかどうかはわかりませんが、PCIと監査プロセスについて十分に知りません。
OK、これは結構です。あなたにはあなたのために働き、あなたのニーズを満たすシステムがあります。それがバージョン管理のポイントです。
APIがプライベート(内部的にのみ)である場合、あなたとそれを使用しているすべての人にとって意味がある限り、どのようにバージョンを作成してもかまいません。標準形式でのバージョン管理が重要なのは、「このバージョンが何を意味するのか」を知る必要があるAPIの他の多くのコンシューマーがある場合です。
任意のバージョン管理システムがあると、セマンティックなバージョン管理など、他のシステムに慣れている人を混乱させます。しかし、バージョン管理システムを作成している人以外は実際に誰もあなたのバージョン管理システムを使用していない場合、それは実際には重要ではありません。