Как часть более крупной реализации, я пытаюсь реализовать операцию слияния своих ветвей/папок управления версиями с помощью TFS-SDK. Я работаю против установки TFS2010.
Что у меня есть это:
TFS-SDK: Merge не работает
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 один, который не помог ...