我正在使用libgit2sharp使用默认的Commands.Pull
,FetchOptions
和MergeOptions
从远程仓库中提取(PullOptions
)。我的工作目录有一个未提交的更改会导致冲突,正如预期的那样,我得到一个CheckOutConflictException
,其中包含“1冲突阻止结账”的消息。
我无法弄清楚的是如何以编程方式找出导致冲突的文件。 repo.Index.Conflicts
不包含任何冲突,我在wiki中找不到关于此案例的任何文档,我在codebase中找不到针对此案例的任何测试。< / p>
有人能告诉我我缺少的东西吗?
答案 0 :(得分:2)
您想要添加CheckoutOptions.OnCheckoutNotify
回调,每次结帐遇到特定操作的路径时都会通知您。
在这种情况下,您希望查找冲突,因此请设置CheckoutOptions.CheckoutNotifyFlags
以收听CheckoutNotifyFlags.Conflict
。
对于每个有结帐冲突并给出路径的文件,您都会被回叫。