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

Ble*_*eek 1 .net c# tfs tfs-sdk tfs2010

VS 2010的Microsoft TFS客户端:

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

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

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

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

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

Mar*_*ley 5

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

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

string serverPath = Item.ServerItem;
Run Code Online (Sandbox Code Playgroud)

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

VersionControlServer VCServer = (VersionControlServer)this.TeamProject.Store.TeamProjectCollection.GetService(typeof(VersionControlServer));
Run Code Online (Sandbox Code Playgroud)

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

VCServer.QueryHistory(serverPath, false);
Run Code Online (Sandbox Code Playgroud)