TFS API Changeset分支

时间:2011-02-18 15:35:58

标签: c# tfs tfs2010 tfs-sdk

我试图在this文章之后从变更集中提取分支历史记录。但是,我注意到Changeset有一个名为IsBranch的属性,这不是本文描述的检查变更集是否为分支的方式。

以下检查之间有什么区别:

VersionControlServer vcs = tpc.GetService<VersionControlServer>();
Changeset cs = vcs.GetChangeset(changeset.ChangesetId);

Console.WriteLine("Changeset: {0}", cs.ChangesetId);

// Get History
foreach (var change in cs.Changes)
{
     if (change.Item.IsBranch)
     {
     }

并且

VersionControlServer vcs = tpc.GetService<VersionControlServer>();
Changeset cs = vcs.GetChangeset(changeset.ChangesetId);

Console.WriteLine("Changeset: {0}", cs.ChangesetId);

// Get History
foreach (var change in cs.Changes)
{
     if ((change.ChangeType & ChangeType.Branch) == ChangeType.Branch)                    
     {
     }

2 个答案:

答案 0 :(得分:3)

Item类的IsBranch属性在2010年是新的,所以第二种方式是在以前版本的TFS中完成它的方式。

2010 Class Members

2008 Class Members

答案 1 :(得分:2)

要让TFS设置item.IsBranch属性的值,您需要通过在调用{{1}时传递VersionControlServer标志来告诉GetItemsOptions.IncludeBranchInfo您想要项目的分支信息}。

示例:

GetItem()