获取TFS API中的分支和合并历史记录(TFS 2008,VS 2012)

时间:2014-12-04 11:19:34

标签: c# visual-studio-2012 tfs merge branching-and-merging

我使用 VS 2012,Microsoft.TeamFoundation.Client.dll 11.0 (TFS API)和服务器 TFS 2008

我创建了分支

int changesetId = vcServer.CreateBranch(sourcePath, targetPath, VersionSpec.Latest);
Changeset changeset = vcServer.GetChangeset(changesetId);
            changeset.Comment = comment;
            changeset.Update();

我可以获得变更集列表

      var ChangesetList = vcServer.QueryHistory(targetPath,
              VersionSpec.Latest, 0, RecursionType.Full, "", versionFrom, VersionSpec.Latest,
              Int32.MaxValue,
              true, // the boolean "include changes" is taking the time... If you do not include the changes and only the metadata of the changesets the query is very fast
              false).Cast<Changeset>();

我可以对分支中的文件进行Checkout和Checkin,然后进行合并。

我很困惑如何获得有关分支历史记录的良好信息(GetBranchHistory),合并历史记录(可能是QueryMergesWithDetails),以及与QueryPendingSets的差异。

1 个答案:

答案 0 :(得分:1)

我认为Robert的旧​​博客文章可能会对你有所帮助 http://blogs.msdn.com/b/roberthorvick/archive/2006/02/04/524960.aspx 如果内存服务,我们在TFS 2010中添加了更好的api,以支持更强大的注释和分支可视化。 对于QueryPendingSets,它与分支历史无关。它为您提供了服务器上可能的挂起更改集。您也可以尝试使用Workspace.GetPendingChanges,但我需要知道具体内容才能提供帮助:)