開発に参加したい方へ>[Subversion]>リポジトリガイドライン>ラベル(タグ)名の付け方
Subversionではリビジョンがリポジトリ全体の状態を表すことから,頻繁にラベルを貼らなくてもブランチ名とリビジョン番号で特定の状態を一意に指定することが出来る.ラベルが必要となるのは以下のケースに限られる.
エディタ本体のtrunkに付けるラベルは,その目的に応じて以下のようにする.
a: 本質的な変更, b: 特徴的な機能追加, c: 一般的な機能追加,d: 機能変更を伴わない修正
それぞれの公開時にどのレベルで番号を増加させるかはリリース担当者の判断とする.
既存リリースラベルと同じ番号体系を用いるのは以下の理由による.
βラベルで使われた番号はリリースラベルでは使わない
大きな機能変更の取り込み時に上の番号を1つ増加させる番号を付ける前段階の公開時には1つ下のレベルの番号を大きく上げた番号を付ける.
例: R1.2.5.0
⇒ R1.2.5.90_b(β1回目)
⇒ R1.2.5.91_b (β2回目)
⇒ R1.2.6.0(正式リリース)
trunk以外のお試し機能をいれたバイナリを開発者個人の判断で公開する場合には作業スペース中のtagエリアを使用すること.
CVSのようにファイル毎にリビジョン番号が振られるシステムにおいてはラベルはその組み合わせを規定するための手段であり,開発者間の連絡のためにもそのようなラベルは必要不可欠である.しかし最初に説明したとおり,Subversionではリビジョン番号とブランチを指定すれば一意にファイルセットを取り出すことが出来るため,開発途中での目印的なラベル添付は不要と考えられる.しかし,大きな意味を持つ特定のリビジョンについて記録を残しておきたい場合には以下の形式でラベルを添付することができる.
ラベルを作成する際に作成の目的がわかるようなコメントを記入すること.
branch/へ作ったコピーの方は今後改変されていくものであるので,基準点としてのBASEラベルを付ける.ただし,付けたラベルは branchごとのサブディレクトリへ配置する.通常はリビジョン番号によって容易に分岐位置を知ることが出来るが,ファイル毎に異なるリビジョンから分岐している場合(混合リビジョン)も考えられるので,先頭位置の明確化のために
一般的にはブランチを作成する場合にはブランチ基準点の方にベースラベルを付ける.しかしSubversionの場合はブランチとラベルの対応,ブランチ間の関係が束縛されていないため,元のブランチに貼られたラベルであっても他のブランチと同一のサブディレクトリに配置することでサブ側のもののように見せることが出来る.
trunk以外のブランチに対してラベルを付与する場合には,混乱を避けるためにブランチ毎の個別のディレクトリに格納する.
[管理単位毎のヘッダ]_バージョン とする.既に付けられているラベルのルールを踏襲すること.(基本的にはエディタ本体と同様)
各自のtags/以下へ各自で決めたルールに従って作成して良い.
不要になったラベルは削除することが出来る.レビューなど開発上の目的で付けられたラベルは他のActiveなtagを容易に見つけられるようにするため不要になり次第速やかに削除するのが望ましい.
ただし,リリース版及び公開β版に対応するラベルは削除してはならない.これは過去の公開履歴を Subversion上で明らかにするために必要である.