列出所有变更集和已删除的工作项属于指定日期之间的特定项目

bah*_*lan 7 changeset tfs-sdk tfs2010

我正在尝试用C#编写一个小的Relase Notes程序.我需要在指定日期之间获取所有变更集和相关工作项属于指定项目.

我试图使用QueryHistory方法,但我找不到如何给出日期过滤器.

pan*_*lif 10

你可以设置

VersionSpec versionFrom = GetDateVSpec(date);
VersionSpec versionTo = GetDateVSpec(DateTime.Now);
Run Code Online (Sandbox Code Playgroud)

然后用

IEnumerable results = versionServer.QueryHistory(sourceControlPath, VersionSpec.Latest, 0, RecursionType.Full, null, versionFrom, versionTo, int.MaxValue, true, true);
List<Changeset> changesets = results.Cast<Changeset>().ToList();
Run Code Online (Sandbox Code Playgroud)

你得到了你想要的变化集.

GetDateVSpec 如下:

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, "");
}
Run Code Online (Sandbox Code Playgroud)

我在我自己的一个工具中使用它,最初我在这里找到了核心(Robaticus的一篇很棒的文章)