1

我写了一个小工具来以编程方式合并多个分支。我使用以下代码:

    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)
        {
            ...
        }
    }

我得到了正确的合并候选人,但每个人的状态都是 NoActionNeeded。当我手动合并时,更改显示为挂起的更改。

我究竟做错了什么?

4

1 回答 1

4

在我自己的一个工具中,我做了一个非常相似的操作:

_workspace.Merge(sourcePath, targetPath, null, null, LockLevel.None, RecursionType.Full, MergeOptionsEx.None)

这在“最新”的立场上运作。

于 2012-10-05T14:57:59.820 回答