2012-02-20 6 views
1

この結果を得るために、どのようにしてtfsの履歴を照会できますか?一連の変更セットに関係するリソースをグループ化しますか?私がしようとしているのは、過去2ヶ月間にどのファイルが変更されたかを理解することです。私はTFS Explorerを試しましたが、ただ一つのチェンジセットから詳細を得ることができます。 TFS Sidekicksの場合と同じです。私はコマンドラインで運がなかったし、データベースに直接接続することさえなかった。誰かがその結果を得るためのスマートな方法を知っていますか?特定の変更セットに関連するリソースをグループ化する方法はありますか?

+0

最後の2か月間に変更されたすべてのファイルのリストが必要ですか? – DaveShaw

+0

はい。しかし実際には、私はそのようなリストを得るための真っ直ぐな方法を見つけることができませんでした。 –

答えて

4

VersionToVersionFromを取得する方法がわからないので、ここではバージョン100Latestから行っています。ソースコントロールエクスプローラで表示履歴を行い、VersionFromVersionToを取得することができます。

ここに、TFS APIを使用するコードスニペットがあります。アセンブリを作成するには、Microsoft.TeamFoundation.*アセンブリへの参照をいくつか追加する必要があります。

using (var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(CollectionAddress))) 
{ 
    var server = tfs.GetService<VersionControlServer>(); 

    var changes = 
     server.QueryHistory(
      "$/Project/Main", 
      VersionSpec.Latest, 
      0, 
      RecursionType.Full, 
      "", 
      VersionSpec.ParseSingleSpec("100", ""), //From ?? 
      VersionSpec.Latest,      //To ?? 
      100, 
      true, 
      true) 
    .Cast<Changeset>() 
    .SelectMany(changeset => changeset.Changes.Select(change => change.Item.ServerItem)); 
} 
+0

TFS APIの使用はまだ検討されていませんでした。本当に助かりました。ありがとうございました。 –

+0

@Diegoそれは私の最初の場所です。私はLinqPadを使用するので、すぐに結果を得ることができます。 – DaveShaw

関連する問題