Label コマンド (Team Foundation バージョン管理)
Team Foundation バージョン管理 のサーバーのファイルまたはフォルダーのバージョンにラベルを付加したり、バージョンからラベルを削除したりします。
必要なアクセス許可
label コマンドを使用するには、[ラベル] のアクセス許可が [許可] に設定されている必要があります。 他のユーザーが作成したラベルを変更または削除するには、[ラベルの管理] のアクセス許可が [許可] に設定されている必要があります。 詳細については、「Team Foundation Server のアクセス許可」を参照してください。
tf label labelname[@scope] [/owner:ownername]
itemspec [/version:versionspec] [/comment:("comment"|@commentfile)]
[/child:(replace|merge)] [/recursive] [login:username,[password]] [/collection:TeamProjectCollectionUrl]
tf label /delete labelname[@scope]
itemspec [/login:username,[password]] [/collection:TeamProjectCollectionUrl]
パラメーター
引数 |
説明 |
---|---|
labelname |
指定された項目に結び付けるか、それから削除するか、または変更するラベルの名前を指定します。 |
@scope |
Team Foundation バージョン管理サーバー ディレクトリを指定します。labelname はそのディレクトリ内で一意です。 このパラメーターを使用すると、Team Foundation バージョン管理サーバー内の別々の部分に同じ名前のラベルが 2 つ存在する場合に、1 つのラベル、またはラベルが付けられた項目のセットを、別個に作成、管理、取得、および削除できます。 |
ownername |
/owner オプションに、DOMAIN\JuanGo または単に juango などの値を指定します。 |
itemspec |
ラベルを付けるか、付け直すか、または変更するファイルまたはフォルダーを指定します。 Team Foundation で itemspecs を解析してスコープ内にある項目を確認する方法の詳細については、「コマンド ライン構文 (バージョン管理)」を参照してください。
メモ
複数の Itemspec 引数を指定できます。
|
versionspec |
/version オプションに、c2 などの値を指定します。 Team Foundation でバージョン指定を解析してそのスコープ内にある項目を確認する方法の詳細については、「コマンド ライン構文 (バージョン管理)」を参照してください。 |
comment |
ラベルについてユーザーが指定したコメント。 |
@commentfile |
チェックインに使用するコメントを含むディスク上のファイルへの、ユーザー指定のパス。 |
username |
/login オプションに値を指定します。 ユーザー名の値は、DOMAIN\UserName または UserName のいずれかとして指定できます。 |
TeamProjectCollectionUrl |
ラベルを結び付けるか、またはラベルを削除するファイルやフォルダーのバージョンを含んでいる指定されたチーム プロジェクト コレクションの URL (http://myserver:8080/tfs/DefaultCollection など)。 |
オプション |
説明 |
---|---|
/owner |
ラベルを所有しているユーザーの名前を指定します。 |
/version |
省略可能。 ラベルを結び付けるか、変更するか、削除するファイルまたはフォルダーのバージョンを指定します。 これらは、C93 などの変更セット値です。 versionspec が指定されていない場合、Team Foundation は既定で基本ワークスペース バージョンを使用します。 |
/comment |
ラベルの説明またはコメントを追加または変更します。 |
/child |
指定されたラベルと同じ既存のラベルを持つ項目の処理方法を指定します。 既存のラベルに対応する項目のバージョンを更新するには、Replace を使用します。 既存のラベルを持つ項目をそのまま残すには、Merge を使用します。 |
/recursive |
itemspec および versionspec と一致するディレクトリ内のすべての項目にラベルを付けます。 /delete オプションと一緒に使うことはできません。 |
/delete |
ラベルを削除します。 |
/login |
Visual Studio Team Foundation Server でユーザーを認証するためのユーザー名とパスワードを指定します。 |
/collection |
チーム プロジェクト コレクションを指定します。 |
解説
ラベルは、Team Foundation バージョン管理サーバーにある関連のないファイルおよびフォルダーのセットに追加できるマーカーです。 ラベルを使用すると、開発またはビルドのためにファイルやフォルダーをワークスペースに簡単に取り込むことができます。 このため、ラベルは、変更セットまたは日付/時刻に類似しており、含まれるファイルおよびフォルダーを任意で追加および削除したり、その中の項目のバージョンを変更したりできます。 ラベルは、次の Team Foundation コマンドに渡すことができるバージョン仕様です。
一般的な種類のラベルは、"M1"、"Beta2"、"Release Candidate 0" のようなマイルストーン ラベルです。
ラベルは、バージョンに固有です。つまり、ラベルはファイルまたはフォルダーの 1 つのバージョンにだけ割り当てることができます。 項目の各バージョンは複数のラベルをサポートできます。
ラベルは、バージョンが指定されるオブジェクトではないので、ファイルのラベル履歴はトラッキングされません。 また、ラベル操作によってワークスペースに保留中の変更が作成されることはありません。 label コマンドを実行すると、更新が Team Foundation バージョン管理サーバーに即座に反映されます。
tf コマンド ライン ユーティリティの使い方の詳細については、「Tf コマンド ライン ユーティリティのコマンド」を参照してください。
ラベルの結合解除および削除
ファイルまたはフォルダーからラベルを削除するには、Unlabel コマンドを使用します。 または、tf label /delete コマンドを使用して、システムからラベルを削除できます。
ラベルが結び付けられている項目、そのコメント、スコープ、および所有者のリストを含む既存のラベルについては、「Labels コマンド」を参照してください。
オーバーロードされたラベルの管理
ラベルの名前は、指定された scope 内で一意であることが必要です。 ラベルを追加する場合は、指定された、または暗黙の scope 内で、またはその下でそのラベル名の使用を予約します。 @scope パラメーターの既定値はチーム プロジェクトです。例: $/TeamProject1。
別のチームまたはユーザーが、"M3" のような共通ラベルを、Team Foundation バージョン管理サーバーの別の部分にあるバージョン管理されたファイルのセットに追加する場合は、ルート プロジェクト フォルダーが別のディレクトリにある限り、M3 ラベルを、自分のプロジェクト内のバージョン管理されたファイルに適用できます。 たとえば、$/math ディレクトリに "M3" ラベルが付けられている場合は、$/projects ディレクトリ内のファイルに "M3" を適用できます。
ラベルの取得や削除、または M3 のラベルが付けられた項目に対するその他の管理を行うには、@scope パラメーターを指定して、Team Foundation に対して、操作する M3 ラベルを通知する必要があります。
Team Foundation バージョン管理サーバーのルート ($/) にラベルを作成するか、特定のフォルダーのラベル アクセス許可を調整することによって、Team Foundation バージョン管理 サーバーの別の部分にある "M3" のようなラベルを、他のユーザーが "オーバーロード" するのを防止できます。
/child オプションの使用によるラベルのトラブルの防止
label コマンドを、既存のラベル名、および同じラベルで既にマークされているファイルを含む itemspec を指定して実行した場合は、/child オプションの値によって、マークされているファイルが新しいリビジョン情報で更新されるかどうかが決まります。 つまり、ファイルには同じ名前でラベルが付けられますが、スコープは異なります。
たとえば、2 つのファイル 314.cs および 271.cs を含む c:\projects という名前のフォルダーがあるとします。 また、314.cs のバージョン C70 にラベル "ready" が付けられているとします。 314.cs の最新バージョンは C93 です。 ラベル "ready" をフォルダーおよびそこに含まれるファイルの最新バージョンに適用する場合、次のコマンドを使用します。"ready" ラベルは 314.cs;C70 から 314.cs;C93 へ移動されます。
tf label ready c:\projects /recursive /version:T /child:Replace
一方、既存のラベル "ready" を 314.cs のバージョン C70 からバージョン C93 に移動しない場合は、次の構文を使用します。
tf label ready c:\projects /recursive /version:T /child:Merge
/child オプションの値として Merge を指定した場合は、該当するラベルの既存のインスタンスがそのまま残されます。
注意
上記の 2 つの例では、"Tip" を表す T が versionspec の最新バージョンを取得するために使用されています。
例
次の例は、"docs" フォルダーのワークスペース バージョンおよびそこに格納されているファイルやフォルダーに "goodbuild" ラベルを結び付けます。
c:\projects>tf label goodbuild docs /recursive
次の例は、"goodbuild" ラベルを "docs" フォルダーに結び付けますが、docs フォルダーに格納されているファイルやフォルダーには結び付けません。
c:\projects>tf label goodbuild docs
次の例は、Team Foundation バージョン管理サーバー内の 314.cs のバージョン 3 に "goodbuild" ラベルを結び付けます。
c:\projects>tf label goodbuild /version:3 $/src/314.cs
次の例は、Team Foundation バージョン管理サーバー内のすべての項目から "badbuild" ラベルを削除します。
c:\projects>tf label /delete badbuild
次の例は、スコープのオプションを使用して、ラベルを 314.cs に適用します。
c:\projects>tf label goodbuild@$/TeamProject1 314.cs