TFS でラベルを作成して複数のファイルに割り当てた場合、同僚はそのラベルにファイルのバージョンを変更することも、他のファイルを追加することもできません。次のエラーが表示されます。
TF14077: The owner of a label cannot be changed.
問題を調査したところ、次の記事を見つけました。
ユーザーが開発フォルダー内の共有ラベルを操作することを許可されている可能性があり ますが、運用フォルダー内で所有しているラベルのみを操作できます。(私のものを強調)
「共有ラベル」への参照が見つかりません。私の知る限り、ラベルには所有者が必要です。
FWIW、私がやろうとしているのは、「フローティング」ラベルを使用して、開発者が特定のラベルでタグ付けすることにより、コードがビルドの一部になる準備ができていることを示すことができるようにすることです。次に、ビルド プロセスはそのラベルを持つすべてのものを取得する必要があり、実際にビルドする準備ができている最新のものを自動的に取得し、過去のバージョンとプライム タイムの準備ができていない新しいものの両方を無視します。
更新: 真に共有されたラベルを作成できない場合でも、少なくとも、同僚が作成したラベルを編集する権限をユーザーに与えることができると思います。これはかなり明確にサポートされています。通常の共同作成者ユーザーにはこの権限はありませんが、MSDN によると (「ソース管理のアクセス許可」の下にある「 Team Foundation Serverのアクセス許可」の記事を参照)、LabelOther アクセス許可を介して付与できます。
ソース管理権限は、ソース コード ファイルとフォルダーに固有です。これらのアクセス許可を設定するには、ソース管理エクスプローラーでフォルダーまたはファイルを右クリックし、[プロパティ] をクリックして、[セキュリティ] タブで、アクセス許可を変更するユーザーまたはグループを選択し、[アクセス許可] に一覧表示されているアクセス許可を編集します。これらのアクセス許可は、ソース管理用の tf コマンド ライン ユーティリティを使用して設定できます。
...
ラベルの管理 | tf:ラベルその他| この権限を持つユーザーは、別のユーザーが作成したラベルを編集または削除できます。
そのため、上記で提案したように、すべての開発者を含むドメイン グループにその権利を割り当てました。tf パーミッションコマンドを使用して設定されていることを確認できます。
tf permission /group:"CORP\Web Team"
結果は期待どおりです(楽しみのためにラベルも割り当てました)
===============================================================================
Server item: $/Test1/TeamBuildTypes (Inherit: Yes)
Identity: CORP\Web Team
Allow:
Deny:
Allow (Inherited): Label, LabelOther
Deny (Inherited):
それでも、私のテスト ユーザーは、私が作成したラベルを編集することをまだ許可されていません。