查询TFS中变更集范围的历史记录以获取特定信息
本文关键字:记录 获取 信息 历史 TFS 范围 查询 | 更新日期: 2023-09-27 18:28:31
我正试图使用C#和TFS来获取TFS中变更集注释的发布日志。
我有这个代码:
const string tfsURL = "http://dev.ger.test.com:8080/tfs";
var tpc = new TfsTeamProjectCollection(new Uri(tfsURL));
VersionControlServer vcs = (VersionControlServer)tpc.GetService(typeof(VersionControlServer));
var tp = vcs.GetTeamProject(@"MyCollection");
var path = tp.ServerItem;
path += @"/Project/Subproject";
var q = vcs.QueryHistory(path, VersionSpec.Latest, 0, RecursionType.Full, null, null, null, 1, true, true, false, false);
foreach (var item in q)
{
Console.WriteLine(item);
Logger(item.ToString(), false);
}
这是有效的,但它只返回最新的变更集和该变更集中的所有信息。
所以我的问题是:
如何在queryhistory中指定一个变更集范围,如VersionSpec.1000到VersionSpec.Latest?
如何操作foreach循环中的项以显示类似项的指定信息。议论
非常感谢您的帮助!
编辑:我将QueryHistory编辑为
var q = vcs.QueryHistory(path, VersionSpec.Latest, 0, RecursionType.Full, null, new ChangesetVersionSpec(23618), VersionSpec.Latest, 1, true, true, false, false);
不幸的是,这并没有改变什么。
应该是这样的:
var changes = vcs.QueryHistory(
path,
VersionSpec.Latest,
0,
RecursionType.Full,
null,
VersionSpec.ParseSingleSpec("C100", null), // starting from changeset 100
VersionSpec.ParseSingleSpec("C200", null), // ending with changeset 200
int.MaxValue,
true,
false);
foreach(Changeset change in changes)
{
Console.WriteLine("{0} {1}", change.ChangesetId, change.Comment);
}
它将为您提供变更集100到200,并列出它们的ID和注释