我正在使用libgit2實現合併,並且遇到問題時無法處理衝突(對文件中同一行的更改) - 合併僅中止,沒有寫入任何內容索引或工作區。可解決的衝突(對不同行的更改)工作正常。libgit2:合併衝突
它退出GIT_ECONFLICT
,這顯然表明工作樹和/或索引不乾淨,但我在撥打git_merge()
前檢查了git status
,它很乾淨。
我使用默認合併選項,並將結帳選項設置爲GIT_CHECKOUT_SAFE | GIT_CHECKOUT_ALLOW_CONFLICTS
。我嘗試使用FORCE
而不是SAFE
,但它沒有幫助。我還需要做什麼才能記錄衝突?
代碼是這裏(SWIFT): https://github.com/Uncommon/Xit/blob/ff1bf6312bb1250b1db432035947a282a2cdd362/Xit/XTRepository%2BMergePushPull.swift#L154