それぞれの中にいくつかのファイルがある多くのプロジェクトがあります。ファイルは、メインソリューションルート、プロジェクトレベル、および個々のレベルからチェックインできます。
すべてのレベルについて、過去数日間に特定のユーザーによってチェックインされたすべてのファイルを見つける方法はありますか?
それぞれの中にいくつかのファイルがある多くのプロジェクトがあります。ファイルは、メインソリューションルート、プロジェクトレベル、および個々のレベルからチェックインできます。
すべてのレベルについて、過去数日間に特定のユーザーによってチェックインされたすべてのファイルを見つける方法はありますか?
TFSの標準のレポート機能を使用して、特定の時間枠内のユーザーの各チェンジセットのファイルにドリルダウンすることはできないと思います。
以下はTFS-SDKを使用しており、タスクを実行する必要があります。
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
namespace GetCheckedInFiles
{
class Program
{
static void Main()
{
TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfsURI"));
var versionControl = teamProjectCollection.GetService<VersionControlServer>();
//enforcing 3 days as "past few days":
var deltaInDays = new TimeSpan(3, 0, 0, 0);
DateTime date = DateTime.Now - deltaInDays;
VersionSpec versionFrom = GetDateVSpec(date);
VersionSpec versionTo = GetDateVSpec(DateTime.Now);
IEnumerable results = versionControl.QueryHistory("$/", VersionSpec.Latest, 0, RecursionType.Full, "User" , versionFrom, versionTo, int.MaxValue, true, true);
List<Changeset> changesets = results.Cast<Changeset>().ToList();
if (0 < changesets.Count)
{
foreach (Changeset changeset in changesets)
{
Change[] changes = changeset.Changes;
Console.WriteLine("Files contained in "+changeset.ChangesetId+" at "+changeset.CreationDate+" with comment "+changeset.Comment);
foreach (Change change in changes)
{
string serverItem = change.Item.ServerItem;
Console.WriteLine(serverItem + " "+change.ChangeType);
}
Console.WriteLine();
}
}
}
private static VersionSpec GetDateVSpec(DateTime date)
{
string dateSpec = string.Format("D{0:yyy}-{0:MM}-{0:dd}T{0:HH}:{0:mm}", date);
return VersionSpec.ParseSingleSpec(dateSpec, "");
}
}
}
Robaticusによってこの投稿からGetDateVSpec
コピーされました
TFSパワーツールがインストールされている場合は、VisualStudioのコマンドプロンプトからコマンド「tfptsearchcs」を使用できます。これにより、特定のユーザーがチェックインしたすべての変更セットを検索したり、他のフィルターと一緒に開始日と終了日を設定したりできます。これはあなたのニーズを満たすかもしれません