バージョンに名前を付ける良い習慣を採用しようとしています。
プロジェクトのコーディングが完了しました。未知のバグが含まれている可能性があるため、「v1.0rc1」とタグ付けします。すべてのバグが見つかり、修正されたら、更新されたバージョンに「v1.0」のタグを付けます。
しかし、バグが見つからず、リリース候補が最終リリースに十分であることが判明した場合はどうなるでしょうか?
SCM を使用すると、最後のコミットに「v1.0」のタグを付けるのと同じくらい簡単です。
問題は、ディストリビューションの更新にあります。RubyGems を使用しています。バージョン番号をコードに格納するのが慣習です。gem (ディストリビューション) をビルドするとき、RubyGem はバージョン番号を gem のファイル名に入れ、それをリポジトリにアップロードします。
バージョン番号を変更してgemを更新すると、すべてのユーザーがディストリビューション全体をダウンロードせざるを得なくなり、何のメリットもありません。私はこれを悪い習慣だと考えています。
一方で、「v1.0rc1」を永遠に使い続けることも、バグを含む可能性のある最終バージョンをリリースすることも望んでいません。
リリース候補をステージングし、ユーザーに不要なリリースの再ダウンロードを強制しないようにする方法はありますか?