2

TFS ソース管理で特定のファイルの特定のバージョンに適用されるラベルのリストを取得しようとしています。ここまでで、特定のファイルの任意のバージョンに適用される一連のラベルを取得しました。特定のアイテムのラベルを取得した経験がある人はいますか?

たとえば、変更セット 301、401、および 601 で変更された $/Project/Folder/Item.cs があります。このプロジェクトには、Build1 ~ Build 99 のラベルが存在します。Build1 - Build10 は変更セット 301 の前 (つまり、Item.cs が作成される前) に適用されました。Build96 - Build99 が Item.cs の v601 に適用されました。私が走れば

vcServer.QueryLabels(null, "$/Project", null, false, "$/Project/Folder/Item.cs", new ChangesetVersionSpec(6)) 

Build11 - Build99 を結果として取得します。この数よりも少ないラベルを返すクエリを取得する方法がわかりません。理想的には、実行したクエリは 4 つのラベル (Build96 - Build 99) を返します。

この質問のコンテキストは、ビルド サーバーに CCNET を使用する TFS プロジェクトです。ワークアイテム番号から始めて、ワークアイテムをビルドに関連付けようとしています。

任意のヒント?またはQueryLabelsの例? または、 MSDN ドキュメントよりも優れた QueryLabels のドキュメントですか?

4

3 に答える 3

2

これは可能です。ここを参照してください: http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/9f41f37e-4fda-4b56-91a3-f2b7e0c0e22d

基本的に、ラベルのリストを取得したら、各ラベルを調べて、関心のあるアイテムのどの変更セットに適用されるかを確認する必要があります。必ず「includeItems = false」フラグを QueryLabels に渡してください。そうしないと、ラベルのすべての項目に目を通す必要があります。

于 2010-11-30T22:19:09.740 に答える
1

あなたがやりたいことは、APIを使用して間違いなく可能になるはずです。私が他の質問に答えたのは、UI の履歴とインラインでラベルを表示することでした。

あなたがやりたいと私が思うことの詳細については、次をご覧ください。

そしてまた

それが役立つことを願っています。

マーティン。

于 2009-03-16T10:32:55.997 に答える
0

現在の TFS バージョンでは不可能のようですが、次のバージョンでは可能かもしれません。

于 2009-03-13T23:26:02.360 に答える