首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定当前变更集在哪些分支中

确定当前变更集在哪些分支中
EN

Stack Overflow用户
提问于 2013-06-05 15:40:42
回答 1查看 1.2K关注 0票数 4

我需要以编程方式跟踪变更集:确定变更集当前位于哪个分支中。

更新:假设我们有一个项目的三个分支: Dev、测试和发布。每当我们准备好使用一些变更集时,我们首先将它们合并到Test中,然后在测试完成后立即发布。我需要知道给定的变更集在这个工作流中的位置(仅在Dev中,或者在Dev +中合并在Test中,或者在Dev +中合并到Test + merged中发布中)。

使用Visual“跟踪”接口已经可以做到这一点,但我需要通过编程来获得更多的自定义。我已经能够使用代码在此提供获取特定工作项的所有变更集,但我还没有找到一种方法来确定变更集目前在哪个分支中。

EN

回答 1

Stack Overflow用户

发布于 2016-04-14 18:08:40

我刚刚做了一个工具来做同样的事情。您需要的电话是TrackMerges。好消息是,您可以在一个电话中检查多个分支。下面是一个代码片段:

代码语言:javascript
复制
var tfsCollection = new TfsTeamProjectCollection(new Uri(server), new NetworkCredential(username, password, userDomain));
tfsCollection.EnsureAuthenticated();
VersionControlServer versionControlServer = tfsCollection.GetService<VersionControlServer>();

ExtendedMerge[] merges = versionControlServer.TrackMerges(
                                  new[] {changesetIdYouAreChecking}, 
                                  new ItemIdentifier("$/Proj/Dev"), 
                                  new [] {new ItemIdentifier("$/Proj/Test"), new ItemIdentifier("$/Proj/Release")}, 
                                  null);

foreach (ExtendedMerge extendedMerge in merges)
{
    Console.WriteLine("Branch --> " + extendedMerge.TargetItem.Item);
    Console.WriteLine("Changeset --> " + extendedMerge.TargetChangeset.ChangesetId);
}

如果merges变量不包含您要寻找的分支,那么它还没有被合并。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16944170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档