Re: Re* [PATCH v2] fixup! mergetool: add automerge configuration
From: Junio C Hamano <hidden>
Date: 2021-01-26 22:19:56
Seth House [off-list ref] writes:
On Tue, Jan 26, 2021 at 03:32:13PM +0100, Johannes Schindelin wrote:quoted
So I'd rather see `git mergetool` be turned into a portable C program, or alternatively using a built-in helper that _is_ written in C, to perform that desired text mungingI tend to agree. Though my personal preference is Cygwin's (eventual) approach, I can appreciate the arguments made by the MSYS2 folk. But setting that aside, IMO, the ideal place to handle this would be the same place where the conflict markers are written in the first place, xmerge.c if my limited C literacy is correct. I don't see a big distinction between writing a single file with conflict markers and writing two, diff-able files with each "side" of the conflict -- they're ultimately two different formats for expressing the same information. That would give us the portability you described and the (pretty amazing) performance that merge-file already enjoys. :) I'm more than happy with calling merge-file twice for now. A future C optimisation, perhaps exposed via merge-file as a new (e.g.) --write-conflict-files flag, would be even more awesome.
I am OK with that "two merge-file invocations, one with --ours and then another with --theirs" approach, as I already said in https://lore.kernel.org/git/xmqqh7n9aer5.fsf@gitster.c.googlers.com/