2

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):

それでも、私のテスト ユーザーは、私が作成したラベルを編集することをまだ許可されていません。

4

2 に答える 2

1

棚セットはあなたがしていることのためのより良い解決策でしょうか?IIRCには、ビルド(または他の)プロセスの一部としてシェルフセットをコミットするなど、シェルフセットを操作するためのかなり豊富なAPIがあります。

TFSを使用したとき、TFSのラベルは非常に限られていることがわかりました。

于 2008-10-22T16:50:44.240 に答える
0

これをラベルで機能させることはできませんでした。代わりに、分岐を使用してまったく異なるプロセスを考案しました。この記事を読んでいるすべての人に強くお勧めします。

一般的な開発ブランチが存在するように、ブランチ スキームを設定しました。そこから、各開発者は自分のやりたいことを実行できる独自のブランチを持ち、Production ブランチがあります。

  • 開発者は、誤って何かをリリースしたり、同僚に干渉したりすることさえ恐れずに、自分のプライベート ブランチで「汚い」作業を行います。
  • 統合する準備ができたら、変更を開発ブランチにマージします。そこで継続的なビルドを行い、結果をテストします。
  • 統合ビルドが完全にテストされ、デプロイの準備が整ったら、変更が Production ブランチにマージされます。これをビルドしてデプロイします。

欲しいって言ってた

私がやろうとしているのは、「フローティング」ラベルを採用して、開発者が特定のラベルでタグ付けすることで、コードがビルドの一部になる準備ができていることを示すことができるようにすることです。

上記で概説したスキームは、これを完全に達成し、さらに多くのことを実現します。

于 2010-06-22T16:55:32.277 に答える