Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all conflicts in a file

From: Andreas Schwab <[email-masked]>
Date: Mon, 19 Feb 2024 13:33:10 +0100

On Feb 19 2024, Konstantin Kharlamov wrote:

> On Mon, 2024-02-19 at 13:25 +0100, Andreas Schwab wrote:
>> On Feb 19 2024, Konstantin Kharlamov wrote:
>> 
>> > 1: Actually, git provides a functional that should work for that
>> > usecase; but in my experience it is more confusing than it's
>> > useful. It
>> > is options `--theirs/ours`, i.e. `git checkout --theirs ./` and
>> > `git
>> > checkout --ours ./`. But these options are problematic because
>> > instead
>> > of resolving conflict in preference of `theirs` or `ours` they do a
>> > complete checkout of the code from either of the branches. I can't
>> > count how many times I was burned by trying to resolve conflicts
>> > with
>> > these options and then was getting wrong code because together with
>> > the
>> > conflicting part the options change everything else.
>> 
>> I think what you actually want is the 'ours'/'theirs' options of the
>> merge strategy (available to both the ort and recursive strategies).
>
> Oh, thanks for mentioning, I didn't know! So… how do I use them?

       -X <strategy-option>, --strategy-option=<strategy-option>
           Pass the <strategy-option> through to the merge strategy. This
           implies --merge and, if no strategy has been specified, -s ort.
           Note the reversal of ours and theirs as noted above for the -m
           option.

-- 
Andreas Schwab, SUSE Labs, [email-masked]
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."