我正在尝试用 C# 编写一个小的 Relase Notes 程序。我需要在指定日期之间获取属于指定项目的所有变更集和相关工作项。
我尝试使用 QueryHistory 方法,但找不到如何提供日期过滤器。
最佳答案
你可以设置
VersionSpec versionFrom = GetDateVSpec(date);
VersionSpec versionTo = GetDateVSpec(DateTime.Now);
然后用
IEnumerable results = versionServer.QueryHistory(sourceControlPath, VersionSpec.Latest, 0, RecursionType.Full, null, versionFrom, versionTo, int.MaxValue, true, true);
List<Changeset> changesets = results.Cast<Changeset>().ToList();
你会得到你想要的变更集。
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, "");
}
我在我自己的工具之一中使用它,最初我找到了它的核心 here ( Robaticus 的精彩帖子)
关于changeset - 列出在指定日期之间属于特定项目的所有变更集和相关工作项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8430130/