.net 如何在TFS API中获取sourcecontrol的历史记录?
我是新使用TFS API的人,我正在编写一个删除我的团队项目的应用程序,但在我删除之前,我想知道上次合并的时间,我指的是出现在源代码管理资源管理器>“示例项目”>查看历史记录中的信息,并放在文本框中 还有上次用户输入项目的信息。(我假设您指的是TFS 2012) 2013年MSDN杂志上有一篇文章应该给你一个不错的起点-.net 如何在TFS API中获取sourcecontrol的历史记录?,.net,visual-studio,tfs,tfs-sdk,.net,Visual Studio,Tfs,Tfs Sdk,我是新使用TFS API的人,我正在编写一个删除我的团队项目的应用程序,但在我删除之前,我想知道上次合并的时间,我指的是出现在源代码管理资源管理器>“示例项目”>查看历史记录中的信息,并放在文本框中 还有上次用户输入项目的信息。(我假设您指的是TFS 2012) 2013年MSDN杂志上有一篇文章应该给你一个不错的起点- 顺便说一句,如果您想删除团队项目,我强烈建议您使用TFSDeleteProject(),因为您将使用受支持的工具。我不知道如何检查用户上一次连接到项目的时间,但这是如何从代码访
顺便说一句,如果您想删除团队项目,我强烈建议您使用TFSDeleteProject(),因为您将使用受支持的工具。我不知道如何检查用户上一次连接到项目的时间,但这是如何从代码访问源代码管理历史记录的
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
using System.Collections;
using System.Windows.Forms;
//The example function is very simple: It gets a change and shows message boxes of all the changesets that have a change for the specified file up to the change transferred to the method.
//Note: Change the [Server Name] with your TFS name.
public void GetChangesetsOfFile(Change theChange)
{
//Query History parameters
TeamFoundationServer tfs = new TeamFoundationServer
("[Server Name]");
VersionControlServer VCServer =
(VersionControlServer)tfs.GetService
(typeof(VersionControlServer));
int changeId = (theChange.Item.DeletionId != 0) ?
theChange.Item.ChangesetId - 1 :
theChange.Item.ChangesetId;
ChangesetVersionSpec version = new
ChangesetVersionSpec(changeId);
ChangesetVersionSpec versionFrom = new
ChangesetVersionSpec(1);
string path = theChange.Item.ServerItem;
//Query History Command
IEnumerable changesets = VCServer.QueryHistory(path,
version, 0, RecursionType.None, null,
versionFrom, LatestVersionSpec.Latest,
int.MaxValue, true, false);
foreach (Changeset cSet in changesets)
{
MessageBox.Show(cSet.Changes
[0].Item.ChangesetId.ToString());
}
}
参考