major.minor.release 形式を取得するため、svn リビジョン番号を変更しようとしています。私の設定では、コミットごとに svn リビジョン番号が 1 ずつ増えます。変更できるはずですか?
私は perl を使用してこれを行う方法を研究していますが、穴の解決策のエースのようなものを提案できれば、それは私にとって金です。
バージョン管理番号とリリース番号を混在 させないでください。このように悪用しないでください。
たとえば、RCSをsubversionからgitに切り替えると、最新の状態になります。真剣に、バージョン番号を手動で付けてください。せいぜい、サブバージョンのリビジョン番号を後置ビルド インジケーターとして含めます。
リリースのバージョン番号を RCS システムの内部番号付けに結び付けることで、何を得ることができますか? これらの番号は基本的にシステムの一意の IDであり、ソフトウェアのバージョン番号ではありません。それらはコミット番号なので、いじらないでください。
できません。リリースに対応する特定のリビジョンにタグを付けたいと思うかもしれません。
いいえ、SVN リビジョン番号を変更することはできません。
内部では、SVN は、何かをチェックインするたびに、リポジトリ ツリー全体の (遅延) コピーを作成します。このコピーは ID によって保存およびアクセスされ、その ID はリビジョン番号と呼ばれます。これはリポジトリ内部の情報であり、特定のリビジョンを参照するために必要な場合を除いて、この ID の値は気にする必要はありません。
ソフトウェアのどのバージョン番号が顧客に提供されるかは、リポジトリから外部的に決定され、リポジトリへのチェックインの数とは無関係に決定されます。(あなたの顧客は、輝かしい新機能を実装し、厄介なバグを解決するために 100 回のチェックインが必要か、それとも数千回のチェックインが必要かを気にしません。)
内部リビジョン番号と外部で使用されるバージョン番号を関連付けるのは、開発者としてのあなたの仕事です。これは、タグ付け (メジャー リリースからいくつかのマイナー リリースを計画している場合は分岐) によって行われます。バージョン 1.0 としてリリースしたい特定のリビジョンがある場合は、このリビジョンをtags/releases/1.0
. (これにより、1 つのリリースに対して異なるリビジョンのソース ファイルを混在させることもできることに注意してください。それらを特定のリビジョンに選択的に更新するだけで、その混在した作業コピーにタグを付けたい状態になったときに実行できます。)
SVNの本はこれをすべて説明しています。数時間かけて読んでください。これは数日以内に完済します。