我试图通过它的变化来获得特定的变更集。这是工作。问题是我无法获得受该变更集影响的文件。
Changeset changeset = GetChangeset(new Uri("tfs path"), 10918);
foreach (var w in changeset.Changes)
{
Console.WriteLine("Type:" + w.ChangeType);
Console.WriteLine("Comment:" + changeset.Comment);
Console.WriteLine("Date:" + changeset.CreationDate);
foreach (var y in changeset.WorkItems)
{
Console.WriteLine("Name:" + y.Title + y.Type);
}
}
private static Changeset GetChangeset(Uri serveruri, int changesetid)
{
var tfs = new TfsTeamProjectCollection(serveruri);
var svc = tfs.GetService<VersionControlServer>();
var changeset = svc.GetChangeset(changesetid);
return changeset;
}
以上代码正常运行。我可以将变更集作为对象获取并显示ChangeType
,CreationDate
和Comment
,但我无法获取与更改相关联的项目。例如,我编辑了Program.cs
。所以它应该在变更集下可见。
任何建议都会很高兴。
谢谢!
答案 0 :(得分:10)
您已经在迭代代码中的更改。受影响的文件位于Item
类型的Change
属性中。
在你的情况下:w.Item.ServerItem
- &gt;这是文件的服务器路径,如'$/A/B/C.txt'
您可以使用w.Item.DownloadFile(@"C:\local.txt")