2009-03-13 3 views
2

TFSソースコントロール内の特定のファイルの特定のバージョンに適用されるラベルのリストを取得しようとしています。これまでは、特定のファイルの任意のバージョンに適用される一連のラベルを取得しました。誰かが特定の商品のラベルを取得している経験はありますか?TFSソースコントロール内の特定のバージョンの項目にラベルを適用します。

たとえば、変更セット301,401,601で変更された$/Project/Folder/Item.csがあります。プロジェクトのビルド1 - ビルド99が存在します。ビルド1〜ビルド10がチェンジセット301の前に適用されました(Item.csが作成される前)。 Build96 - Build99はItem.c60のv601に適用されました。実行した場合

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

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

この質問のコンテキストは、ビルドサーバ用のCCNETを備えたTFSプロジェクトです。作業項目をビルドに関連づけようとしており、作業項目番号から始まっています。

ヒント? QueryLabelsの例ですか?またはMSDN docsよりもQueryLabelsの方が良いでしょうか?

答えて

0

現在のTFSバージョンではnot possibleのようですが、次のバージョンにある可能性があります。

1

あなたがしたいことは、APIを使用して間違いなく可能であるはずです。私がもう一つの質問に答えたのは、UIの中に歴史のあるインラインラベルを見ることでした。私はあなたがやりたいと思っていると思う何をしての詳細については

、その後を見てみましょう:

とも

ホップ助けてくれるe。

Martin。

+0

私は何かを速くしようとしています。それらのリンクのアプローチは非常に速くは聞こえません。私は、APIはこれをしたい: l.LabelId = le.LabelId どこle.VersionFrom> = @ver にtbl_LabelEntryル に参加tbl_Labelリットル から* トップ1を選択し、l.LabelName LIKE 'CIBuildの%' l.LastModifiedによるorder –

2

これは可能であるが、ここを参照してください:あなたは、ラベルのリストを取り戻す一度http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/9f41f37e-4fda-4b56-91a3-f2b7e0c0e22d

基本的に、あなたは各ラベルに目を通すと、あなたはそれが適用されるに興味を持っているアイテムの何チェンジ参照する必要があります。 "includeItems = false"フラグをQueryLabelsに渡してください。そうでなければ、ラベルのすべての項目を調べなければなりません。

関連する問題