From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Ramsay Jones <ramsay@ramsayjones.plus.com>
Cc: "Torsten Bögershausen" <tboegi@web.de>,
"Junio C Hamano" <gitster@pobox.com>,
git@vger.kernel.org, "Beat Bolli" <dev+git@drbeat.li>,
"Jeff King" <peff@peff.org>,
"Eric Sunshine" <sunshine@sunshineco.com>
Subject: Re: [PATCH v2 1/1] merge-file: let conflict markers match end-of-line style of the context
Date: Tue, 26 Jan 2016 17:49:26 +0100 (CET) [thread overview]
Message-ID: <alpine.DEB.2.20.1601261745340.2964@virtualbox> (raw)
In-Reply-To: <56A7A240.7000102@ramsayjones.plus.com>
Hi Ramsay,
On Tue, 26 Jan 2016, Ramsay Jones wrote:
> On 26/01/16 08:54, Johannes Schindelin wrote:
> > Hi Ramsay,
> [snip]
>
> >>
> >> But you are only testing 3/4 conflict markers end in CR/LF. :-D
> >
> > The fact that ||| markers are present is the fault of previous test cases.
> > I tried to make a point of *not* relying on such a side effect (so as to
> > debug failures quicker by commenting out all previous test cases).
> >
> > So the fact that I am testing only 3 of the 4 conflict markers is very
> > much by design.
>
> I'm sorry, but I don't understand what you are trying to say here. :(
Typically, there are only 3 conflict markers:
<<<
diff 1
===
diff 2
>>>
However, you can tell merge-file to show also the original hunk, in this
case it was done by calling `git config merge.conflictstyle diff3` in an
earlier test, and this implementation detail seeps through to the current
test case.
Guess what, if you really only quickly want to run this last test (and
comment-out the previous ones), the conflict style is *not* diff3, and you
end up with the three conflict markers again.
> >>> Read: I am uncertain that I want to spend the additional lines on
> >>> testing more than actually necessary.
> >>
> >> If the here doc is too verbose for you, how about something like this
> >> (totally untested):
> >>
> >> test $(tr "\015" Q <crlf.txt | grep "^[<=>|].*Q$" | wc -l) -eq 4
> >>
> >> instead?
> >
> > Hmm. I do not see the benefit over grepping for `txtQ$` it's essentially
> > the same.
>
> Well, as I said 'totally untested', but it _should_ be different. ;-)
>
> The output from the 'tr "\015" Q <crlf.txt' subcommand should look
> something like:
>
> 1Q
> 2Q
> <<<<<<< crlf-diff1.txtQ
> 4Q
> ||||||| crlf-orig.txtQ
> 3Q
> =======Q
> 5Q
> >>>>>>> crlf-diff2.txtQ
>
> so that your 'grep "\\.txtQ$"' should select these lines:
>
> <<<<<<< crlf-diff1.txtQ
> ||||||| crlf-orig.txtQ
> >>>>>>> crlf-diff2.txtQ
>
> whereas my 'grep "^[<=>|].*Q$"' should select these lines:
>
> <<<<<<< crlf-diff1.txtQ
> ||||||| crlf-orig.txtQ
> =======Q
> >>>>>>> crlf-diff2.txtQ
>
> (ie. select all 4 conflict markers).
True, I overlooked that the middle txtQ comes from the ||| line that I
actually did *not* want to test for (see above).
Will fix.
Ciao,
Dscho
next prev parent reply other threads:[~2016-01-26 16:49 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-22 17:01 [PATCH 0/2] Let merge-file write out conflict markers with correct EOLs Johannes Schindelin
2016-01-22 17:01 ` [PATCH 1/2] convert: add a helper to determine the correct EOL for a given path Johannes Schindelin
2016-01-22 18:47 ` Junio C Hamano
2016-01-22 19:04 ` Johannes Schindelin
2016-01-23 7:05 ` Torsten Bögershausen
2016-01-24 10:42 ` Johannes Schindelin
2016-01-23 6:12 ` Torsten Bögershausen
2016-01-24 10:41 ` Johannes Schindelin
2016-01-22 17:01 ` [PATCH 2/2] merge-file: consider core.crlf when writing merge markers Johannes Schindelin
2016-01-22 18:15 ` Junio C Hamano
2016-01-22 18:47 ` Johannes Schindelin
2016-01-22 19:08 ` Junio C Hamano
2016-01-24 10:44 ` Johannes Schindelin
2016-01-22 19:50 ` Eric Sunshine
2016-01-22 19:52 ` Eric Sunshine
2016-01-24 10:37 ` Johannes Schindelin
2016-01-24 18:26 ` Eric Sunshine
2016-01-25 7:02 ` Johannes Schindelin
2016-01-23 6:31 ` Torsten Bögershausen
2016-01-24 10:39 ` Johannes Schindelin
2016-01-22 17:52 ` [PATCH 0/2] Let merge-file write out conflict markers with correct EOLs Beat Bolli
2016-01-24 10:48 ` [PATCH v2 0/1] " Johannes Schindelin
2016-01-24 10:48 ` [PATCH v2 1/1] merge-file: let conflict markers match end-of-line style of the context Johannes Schindelin
2016-01-24 16:27 ` Torsten Bögershausen
2016-01-24 16:36 ` Torsten Bögershausen
2016-01-25 6:53 ` Johannes Schindelin
2016-01-25 19:45 ` Ramsay Jones
2016-01-26 8:54 ` Johannes Schindelin
2016-01-26 16:43 ` Ramsay Jones
2016-01-26 16:49 ` Johannes Schindelin [this message]
2016-01-24 22:09 ` [PATCH v2 0/1] Let merge-file write out conflict markers with correct EOLs Junio C Hamano
2016-01-25 7:25 ` Johannes Schindelin
2016-01-25 8:06 ` [PATCH v3 0/2] " Johannes Schindelin
2016-01-25 8:07 ` [PATCH v3 1/2] merge-file: let conflict markers match end-of-line style of the context Johannes Schindelin
2016-01-25 8:32 ` Torsten Bögershausen
2016-01-25 8:59 ` Johannes Schindelin
2016-01-25 20:12 ` Junio C Hamano
2016-01-26 9:04 ` Johannes Schindelin
2016-01-26 17:22 ` Junio C Hamano
2016-01-25 8:07 ` [PATCH v3 2/2] merge-file: ensure that conflict sections match eol style Johannes Schindelin
2016-01-25 9:20 ` Johannes Schindelin
2016-01-26 14:42 ` [PATCH v4 0/2] Let merge-file write out conflict markers with correct EOLs Johannes Schindelin
2016-01-26 14:42 ` [PATCH v4 1/2] merge-file: let conflict markers match end-of-line style of the context Johannes Schindelin
2016-01-26 18:23 ` Junio C Hamano
2016-01-26 21:14 ` Junio C Hamano
2016-01-27 7:58 ` Johannes Schindelin
2016-01-27 18:19 ` Junio C Hamano
2016-01-27 19:12 ` Johannes Schindelin
2016-01-27 19:32 ` Junio C Hamano
2016-01-28 7:55 ` Johannes Schindelin
2016-01-26 14:42 ` [PATCH v4 2/2] merge-file: ensure that conflict sections match eol style Johannes Schindelin
2016-01-27 16:37 ` [PATCH v5 0/2] Let merge-file write out conflict markers with correct EOLs Johannes Schindelin
2016-01-27 16:37 ` [PATCH v5 1/2] merge-file: let conflict markers match end-of-line style of the context Johannes Schindelin
2016-01-27 16:37 ` [PATCH v5 2/2] merge-file: ensure that conflict sections match eol style Johannes Schindelin
2016-01-27 20:22 ` [PATCH v5 0/2] Let merge-file write out conflict markers with correct EOLs Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.20.1601261745340.2964@virtualbox \
--to=johannes.schindelin@gmx.de \
--cc=dev+git@drbeat.li \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.org \
--cc=ramsay@ramsayjones.plus.com \
--cc=sunshine@sunshineco.com \
--cc=tboegi@web.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.