From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Đoàn Trần Công Danh" <congdanhqx@gmail.com>, git@vger.kernel.org
Subject: Re: [PATCH 6/6] t4124: fix test for non-compliance diff
Date: Fri, 20 Mar 2020 01:20:55 -0400 [thread overview]
Message-ID: <20200320052055.GA499858@coredump.intra.peff.net> (raw)
In-Reply-To: <xmqqlfnwc5p0.fsf@gitster.c.googlers.com>
On Thu, Mar 19, 2020 at 03:58:51PM -0700, Junio C Hamano wrote:
> >> Workaround this problem by assuming `diff(1)` output is unified
> >> if we couldn't make anything from normal-diff format.
>
> I do not mind working it around, but I am a bit disturbed by an
> uneven attitude towards POSIX noncompliance this series has. If
> we were willing to break other people's "sed" that does not do BRE
> correctly, instead of using '[+]' trick to accomodate them while
> making sure that an implementation that does not use nonstandard
> extension and does only BRE, we should just similarly be writing
> such an implementation of noncompliant diff off as broken, yet we
> bend backwards over to make sure we can work with them here.
>
> IOW, I do not have trouble changing the test so that it works with
> noncompliant "diff". But then in the same series, I would prefer to
> see the existing test keeps working with a possibly noncompliant
> "sed" implementation that has been working well with the tests.
I don't think it's inconsistent. Real-world experience trumps standards.
We _know_ that there is a real-world diff that generates only unified
diffs, and it is not too hard to work around it. So we should do so.
A sed that uses ERE and requires backslash-escaping pluses is
theoretical at this point. POSIX forbids it, and I would guess that
working around it would be more than just the "[+]" we found, because
other patterns probably need it, too. But we won't know until we find
one to test on.
So I'm not entirely against "[+]" as a defensive measure. But I have a
slight preference to avoid it until we know it's needed, not because
it's hard to do once, but because I don't want to grow too many
defensive superstitions if we don't know they're warranted.
-Peff
next prev parent reply other threads:[~2020-03-20 5:20 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-19 14:00 [PATCH 0/6] fix test failure with busybox Đoàn Trần Công Danh
2020-03-19 14:00 ` [PATCH 1/6] t4061: use POSIX compliance regex(7) Đoàn Trần Công Danh
2020-03-19 15:53 ` Jeff King
2020-03-19 16:01 ` Eric Sunshine
2020-03-19 22:02 ` Junio C Hamano
2020-03-20 1:35 ` Danh Doan
2020-03-19 14:00 ` [PATCH 2/6] test-lib-functions: test_cmp: eval $GIT_TEST_CMP Đoàn Trần Công Danh
2020-03-19 16:02 ` Jeff King
2020-03-19 16:14 ` Eric Sunshine
2020-03-20 1:29 ` Danh Doan
2020-03-19 14:00 ` [PATCH 3/6] t5003: skip conversion test if unzip -a is unavailable Đoàn Trần Công Danh
2020-03-19 16:03 ` Jeff King
2020-03-20 0:39 ` Danh Doan
2020-03-20 5:32 ` Jeff King
2020-03-19 14:00 ` [PATCH 4/6] t5616: use rev-parse instead to get HEAD's object_id Đoàn Trần Công Danh
2020-03-19 16:07 ` Jeff King
2020-03-20 0:57 ` Danh Doan
2020-03-19 14:00 ` [PATCH 5/6] t7063: use POSIX find(1) syntax Đoàn Trần Công Danh
2020-03-19 16:12 ` Jeff King
2020-03-19 22:16 ` Junio C Hamano
2020-03-20 1:41 ` Danh Doan
2020-03-20 2:20 ` Danh Doan
2020-03-20 5:37 ` Jeff King
2020-03-22 0:37 ` Danh Doan
2020-03-22 6:05 ` Jeff King
2020-03-19 14:00 ` [PATCH 6/6] t4124: fix test for non-compliance diff Đoàn Trần Công Danh
2020-03-19 16:33 ` Jeff King
2020-03-19 22:58 ` Junio C Hamano
2020-03-20 5:20 ` Jeff King [this message]
2020-03-20 1:52 ` Danh Doan
2020-03-20 5:23 ` Jeff King
2020-03-19 15:51 ` [PATCH 0/6] fix test failure with busybox Jeff King
2020-03-20 0:37 ` Danh Doan
2020-03-20 5:30 ` Jeff King
2020-03-19 16:34 ` Jeff King
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200320052055.GA499858@coredump.intra.peff.net \
--to=peff@peff.net \
--cc=congdanhqx@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).