【发布时间】:2012-03-12 21:29:32
【问题描述】:
作为更大实施的一部分,我正在尝试使用 TFS-SDK 实施我的源代码控制分支/文件夹的合并操作。我正在处理 TFS2010 安装。
我所拥有的是:
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
using Microsoft.TeamFoundation.VersionControl.Common;
namespace MergeBranchesFolders
{
class Program
{
static void Main()
{
TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://TFSSERVER/Collection"));
var versionControl = teamProjectCollection.GetService<VersionControlServer>();
const string fromPath = "$/TeamProject/SourceDir";
const string toPath = "$/TeamProject/TargetDir";
Workspace myWorkspace = versionControl.GetWorkspace("WorkspaceName", "WorkspaceOwner");
GetStatus getStatus = myWorkspace.Merge(fromPath, toPath, VersionSpec.Latest, VersionSpec.Latest,
LockLevel.None, RecursionType.Full, MergeOptionsEx.None);
}
}
}
我确信我可以正确访问 myWorkspace,但 getStatus 看起来像这样:
这几乎说明什么都没发生。
但是,如果我尝试在 IDE 中合并,我会得到几个合并候选者。
如果我执行以下操作,也会看到相同的合并候选者:
var mergeCandidates = versionControl.GetMergeCandidates(fromPath, toPath,RecursionType.Full).ToList();
fromPath/toPath 作为分支和文件夹我都失败了——即使是单个文件。
我能找到的唯一资源是 this 一个,这没有帮助...
【问题讨论】: