gpt4 book ai didi

c# - TFS 2010 : Getting list of changeset Ids

转载 作者:可可西里 更新时间:2023-11-01 02:58:57 24 4
gpt4 key购买 nike

我需要创建如下两个方法:

  1. 检索 TFS 中的所有变更集。
  2. 检索比指定变更集更新的所有变更集。

我已经进行了一些谷歌搜索并找到了一些链接并设法提出了一些代码。我似乎无法计算出调用以获取变更集项的完整列表的方法。我把一些东西搞砸了,但想知道是否有人可以帮助我:

TfsTeamProjectCollection projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://mydomain.com:8080/tfs"));
VersionControlServer versionControl = projectCollection.GetService<VersionControlServer>();
int latestId = versionControl.GetLatestChangesetId();

List<Changeset> changesetList = new List<Changeset>();
for (int i = 1; i < latestId; i++)
{
try
{
Changeset cs = versionControl.GetChangeset(i);
if (cs != null)
{
changesetList.Add(cs);
}
}
catch (ResourceAccessException)
{
}
}

获取某些 Id 的变更集会引发“ResourceAccessException”异常,这就是添加处理程序的原因。

关于如何以“正确”方式执行此操作的任何想法?

我正在使用带有 TFS 2010 的 Visual Studio 2010。应用程序是用 C# 作为 .Net 4.0 应用程序编写的。

TIA

最佳答案

试试这个:

  // Replace with your setup
var tfsServer = @"http://tfsserver:8080/tfs/SW";
var serverPath = @"$/PCSW/ProjectX/Main";

// Connect to server
var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(tfsServer));
tfs.Connect(ConnectOptions.None);
var vcs = tfs.GetService<VersionControlServer>();

// Create versionspec's. Example start with changeset 529
VersionSpec versionFrom = VersionSpec.ParseSingleSpec("C529", null);
// If you want all changesets use this versionFrom:
// VersionSpec versionFrom = null;
VersionSpec versionTo = VersionSpec.Latest;

// Get Changesets
var changesets = vcs.QueryHistory(
serverPath,
VersionSpec.Latest,
0,
RecursionType.Full,
null,
versionFrom,
versionTo,
Int32.MaxValue,
true,
false
).Cast<Changeset>();

关于c# - TFS 2010 : Getting list of changeset Ids,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8493762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com