libgit2를 사용하여 병합을 구현하는 중입니다. 충돌 (파일의 동일한 행이 변경됨)을 처리하는 데 문제가 있습니다. 병합이 중단되고 아무 것도 기록되지 않습니다. 색인 또는 작업 공간. 해결 가능한 충돌 (다른 행에 대한 변경)이 잘 작동합니다.libgit2 : 충돌로 병합
그것은 분명히 worktree 및/또는 인덱스가 깨끗하지 있음을 나타냅니다, GIT_ECONFLICT
으로 종료하지만, 난 그냥 git_merge()
를 호출하기 전에 git status
으로 확인하고 깨끗합니다.
기본 병합 옵션을 사용하고 체크 아웃 옵션을 GIT_CHECKOUT_SAFE | GIT_CHECKOUT_ALLOW_CONFLICTS
으로 설정하고 있습니다. SAFE
대신 FORCE
을 사용했지만 사용하지 않았습니다. 갈등이 기록 될 수 있도록 내가해야 할 일이 무엇이 있습니까?
코드 (SWIFT에) 여기에 있습니다 : https://github.com/Uncommon/Xit/blob/ff1bf6312bb1250b1db432035947a282a2cdd362/Xit/XTRepository%2BMergePushPull.swift#L154