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

私自身のツールの1つで、私は非常によく似たアクションを実行します。

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

これは「最新の」スタンドで動作します。

于 2012-10-05T14:57:59.820 に答える