I wrote a little tool to programmatically merge multiple branches. I use the following code:
var candidates = _server.GetMergeCandidates(sourcePath, targetPath, RecursionType.Full);
foreach (var c in candidates)
{
var changeset = new ChangesetVersionSpec(c.Changeset.ChangesetId);
var status = _workspace.Merge(sourcePath, targetPath, changeset, changeset);
if (!status.NoActionNeeded)
{
...
}
}
I get the correct merge candidates, but the status on each one is NoActionNeeded. When, I merge manually the changes show up as pending changes.
What am I doing wrong?