でマージし、私は紛争(ファイルの同じ行への変更)に対処するためにそれを得るトラブルを抱えています索引またはワークスペースに移動します。解決可能な競合(異なる行への変更)がうまくいきます。libgit2: - に書かれた何も、マージがちょうど中止し、私はlibgit2を使用して、マージの実装に取り組んでいる競合
GIT_ECONFLICT
で終了します。ワークツリーやインデックスがきれいではないことを示していますが、git_merge()
を呼び出す直前にgit status
とチェックしています。
私は、既定のマージオプション、およびGIT_CHECKOUT_SAFE | GIT_CHECKOUT_ALLOW_CONFLICTS
に設定し、チェックアウトオプションを使用しています。 SAFE
の代わりにFORCE
を使ってみましたが、役に立たなかったです。紛争が記録されるように他に何をする必要がありますか?
コードは(スウィフトで)ここにある: https://github.com/Uncommon/Xit/blob/ff1bf6312bb1250b1db432035947a282a2cdd362/Xit/XTRepository%2BMergePushPull.swift#L154