使用c#获取Changeset及其在TFS上的所有更改 [英] Get Changeset and all it's changes on TFS using c#
问题描述
我正在尝试通过它的变更集来获取特定的变更集.这是工作.问题是我无法使文件受到该变更集的影响.
Changeset changeset = GetChangeset(new Uri("tfs path"),10918);foreach(changeset.Changes中的var w){Console.WriteLine("Type:" + w.ChangeType);Console.WriteLine("Comment:" + changeset.Comment);Console.WriteLine("Date:" + changeset.CreationDate);foreach(changeset.WorkItems中的y){Console.WriteLine("Name:" + y.Title + y.Type);}}私有静态Changeset GetChangeset(Uri serveruri,int changesetid){var tfs = new TfsTeamProjectCollection(serveruri);var svc = tfs.GetService< VersionControlServer>();var changeset = svc.GetChangeset(changesetid);返回变更集;}
上面的代码正在工作.我可以将变更集作为对象并显示 ChangeType
, CreationDate
和 Comment
,但是我无法获得与变更关联的项目.例如,我编辑了 Program.cs
.因此,在该变更集下应该是可见的.
任何建议将不胜感激.
谢谢!
您已经在遍历代码中的更改.受影响的文件位于 Change
类型的 Item
属性中.
以您的情况为例: w.Item.ServerItem
->这是文件的Serverpath,例如'$/A/B/C.txt'
>
您可以使用 w.Item.DownloadFile(@"C:\ local.txt")
I am trying to get a specific changeset by it's changesetid. It is working. The problem is I can't get the files affected by that changeset.
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;
}
The above code is working. I can get the changeset as an object and display the ChangeType
, CreationDate
and Comment
but I can't get the items associated with the change. For example, I edited the Program.cs
. So it should be visible under that changeset.
Any suggestion would be gladly appreciated.
Thanks!
You are already iterating over the Changes in your code. The affected File is in the Item
property of the Change
type.
in your case: w.Item.ServerItem
--> This is the Serverpath of the File like '$/A/B/C.txt'
You can download it by using w.Item.DownloadFile(@"C:\local.txt")
这篇关于使用c#获取Changeset及其在TFS上的所有更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!