LibGit2Sharp CheckoutConflictException, выданный Repository.Merge () - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь выполнить слияние 2 веток в git-репозитории с использованием LibGit2Sharp, и я продолжаю получать CheckoutConflictException.

Выполнение git-слияния вручную на ветвях не приводит к сообщениям об ошибках, только коммит слияния.

Я добавил флажки CheckoutNotify для конфликтов и CheckoutNotifyHandler, и я вижу, что получено 2 конфликта извлечения, которые указывают на 2 подмодуля в хранилище, но я не знаю, что с ними делать.

Я проверяю ветку назначения и объединяю ее с веткой источника.

Branch sourceBranch = new Branch(); //The branch I want to merge to

Signature sig = new Signature("somename", "some@email.com", DateTime.Now);

MergeOptions mergeOptions = new MergeOptions();
mergeOptions.CheckoutNotifyFlags = CheckoutNotifyFlags.Conflict;
mergeOptions.OnCheckoutNotify += OnMergeCheckoutNotify;

Repo.Merge(sourceBranch, signature);

Строка Repo.Merge () выдает ошибку CheckoutConflictException.

public bool OnMergeCheckoutNotify(string path, CheckoutNotifyFlags notifyFlags)
{
    return true;
}

Возвращение true или false не меняет результирующее исключение.

Я ожидаю, чтоне было бы никакой ошибки, только результат конфликта слияния MergeResult.Conflict, если есть какие-либо конфликты.

Есть ли способ обойти это или разрешить конфликты извлечения в обработчике уведомлений?

ЛюбойСпасибо за помощь, спасибо.

...