Re: Question about pre-merge and git merge octopus strategy
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 13, 2022, 12:56 UTC
- Message-ID
- <xmqq35hdd205.fsf@gitster.g>
- In-Reply-To
- <CABPp-BGOGLUPOn20yWzCrBYCykiet0=5UfbkuGC78f-QoWVvYg@mail.gmail.com>
Elijah Newren <newren@gmail.com> writes:
Show 11 quoted lines
>> If merge-recursive or merge-resolve is asked to merge a single >> commit to the current branch without any other strategies to use as >> a fallback, they leave the working tree and index into a state where >> the end-user can conclude the conflict resolution and commit the >> result. In spirit, we are in the same situation, aren't we? > > I don't think it's quite the same.... > ... > Or are you saying that if all merge strategies return a 2, we just > treat the last one as good enough and consider the merge to be in > progress?
No, I was just confusing the difference between the special return value 2 and a normal failure value 1.
I have a feeling that it would be nice if we can restore to pristine on the calling "git merge" side, rather than forcing individual strategy backends to implement the restore-to-pristine correctly, but in any case, as you said, we should behave as if a merge strategy backend never run after it failed with exit value 2 by restoring to pristine state.