TFS客户端C#API – 获取项目的所有变更集

VS 2010的Microsoft TFS客户端:

http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.item(v=vs.100).aspx

  • 我(即我的代码)有一个Changeset。
  • 我迭代到一个特定的变化。
  • 我在变化中有一个项目。

现在,我希望获得对该项目进行更改的所有变更集。

有人可以告诉我最好的方法吗?

我可以迭代相关分支的所有变更集,这将是非常低效的。

爱德华是对的。 他有资格支持它。 (请参阅他的个人资料说明)VersionControlServer.QueryHistory是您需要使用的方法。 有几种方法可以使用它,我只是在下面描述一个方法,假设该项目的服务器路径对您来说很重要…

首先,您需要Item的服务器路径:

 string serverPath = Item.ServerItem; 

接下来,如果您还没有实例化VersionControlServer对象,可以从TeamProject中获取一个,如下所示:

 VersionControlServer VCServer = (VersionControlServer)this.TeamProject.Store.TeamProjectCollection.GetService(typeof(VersionControlServer)); 

使用VersionControlServer QueryHistory(string,boolean)方法获取与该服务器路径关联的其他更改集:

 VCServer.QueryHistory(serverPath, false);