使用libgit2sharp进行提取时显示冲突

时间:2018-01-23 16:26:01

标签: libgit2sharp

我正在使用libgit2sharp使用默认的Commands.PullFetchOptionsMergeOptions从远程仓库中提取(PullOptions)。我的工作目录有一个未提交的更改会导致冲突,正如预期的那样,我得到一个CheckOutConflictException,其中包含“1冲突阻止结账”的消息。

我无法弄清楚的是如何以编程方式找出导致冲突的文件。 repo.Index.Conflicts不包含任何冲突,我在wiki中找不到关于此案例的任何文档,我在codebase中找不到针对此案例的任何测试。< / p>

有人能告诉我我缺少的东西吗?

1 个答案:

答案 0 :(得分:2)

您想要添加CheckoutOptions.OnCheckoutNotify回调,每次结帐遇到特定操作的路径时都会通知您。

在这种情况下,您希望查找冲突,因此请设置CheckoutOptions.CheckoutNotifyFlags以收听CheckoutNotifyFlags.Conflict

对于每个有结帐冲突并给出路径的文件,您都会被回叫。