Re: Re* [PATCH v2] fixup! mergetool: add automerge configuration
- From
Seth House <seth@eseth.com>
- Date
- Jan 16, 2021, 04:24 UTC
- Message-ID
- <20210116042454.GA4913@ellen>
- In-Reply-To
- <xmqqh7np9gqn.fsf@gitster.c.googlers.com>
On Sun, Jan 10, 2021 at 03:24:48AM -0800, Junio C Hamano wrote:
> Note that with t7800 fixed with the patch, non Windows jobs all seem > to pass, but t7610 seems to have problem(s) on Windows.
The autocrlf test is breaking because the sed that ships with some mingw versions (and also some minsys and cygwin versions) will *automatically* remove carriage returns:
$ printf 'foo\r\nbar\r\n' | sed -e '/bar/d' | cat -A foo$
$ printf 'foo\r\nbar\r\n' | sed -b -e '/bar/d' | cat -A foo^M$
(Note: the -b flag above is just for comparison. We can't use it here. It's not in POSIX and is not present in sed for busybox or OSX.)
I haven't found official docs that describe this behavior yet but I found a few discussions about it across a few lists. E.g.: https://cygwin.com/pipermail/cygwin/2017-June/233121.html
Suggestions welcome.
Obviously we could try to detect crlf's before the sed and then try to re-add them back in after sed but that strikes me as error-prone.
I recall someone mentioning calling merge-file twice, once with --ours and once with --theirs, to independently generate each "side" of the conflict instead of using sed to split MERGED. Is that a viable approach?