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

时间:2013-09-17 16:19:50

标签: c# .net tfs tfs2010 tfs-sdk

VS 2010的Microsoft TFS客户端:

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

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

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

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

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

1 个答案:

答案 0 :(得分:5)

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

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

string serverPath = Item.ServerItem;

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

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

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

VCServer.QueryHistory(serverPath, false);