git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Adam Dinwoodie <adam@dinwoodie.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
	"Git Mailing List" <git@vger.kernel.org>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Đoàn Trần Công Danh" <congdanhqx@gmail.com>,
	"Emily Shaffer" <emilyshaffer@google.com>
Subject: Re: [PATCH] t1800: correct test to handle Cygwin
Date: Tue, 13 Sep 2022 22:08:10 +0100	[thread overview]
Message-ID: <CA+kUOa=DP6c417ZXXtxsJuyqJgpLZeAyr4URQPtMs0JhH1zVWQ@mail.gmail.com> (raw)
In-Reply-To: <xmqqy1uusyez.fsf@gitster.g>

On Wed, 7 Sept 2022 at 21:49, Junio C Hamano <gitster@pobox.com> wrote:
>
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
> >> @@ -159,7 +159,7 @@ test_expect_success 'git hook run a hook with a bad shebang' '
> >>      # TODO: We should emit the same (or at least a more similar)
> >>      # error on Windows and !Windows. See the OS-specific code in
> >>      # start_command()
> >> -    if test_have_prereq !WINDOWS
> >> +    if test_have_prereq !MINGW
> >
> > ... this to be `test_have_prereq !WINDOWS || test_have_prereq CYGWIN`
> > instead.
>
> My understanding is that there are CYGWIN and MINGW prereqs that are
> mutually exclusive (if you are on MINGW you cannot be on CYGWIN and
> vice versa), and WINDOWS is a short-hand for "we are either on MINGW
> or CYGWIN", and I am not sure if it clarifies anything to rewrite
> "we do not want to be on MINGW to run these tests" to "anything non
> Windows is fine, by the way, CYGWIN is also OK".
>
> If we are planning to add another variant that falls into umbrella
> WINDOWS that is not CYGWIN, and that new variant falls short of the
> requirement of the tests in this script just like MINGW does, then
> the suggested rewrite does make quite a lot of sense.  There would
> be not just two but more variants in Windows family, and if Cygwin
> is the odd man out, then the rewritten one would convey that more
> clearly.  But with only two, as long as everybody understands what
> MINGW is, I think "this part does not work on MINGW" is more concise
> and clear.

This is definitely how I was thinking about things. I've no particular
objection to taking some other approach, but until/unless there are a
wider variety of Windows variants, it seems like doing so would cause
more confusion, not less.

The only caveat is the "as long as everybody understands what MINGW
is" part. This is well beyond the scope of this small patch, but I
think "MINGW" is probably needlessly opaque these days. It makes sense
given the history of Git for Windows, but it's not a term many people
are likely to be familiar with unless they've already been playing
around with the MinGW/Cygwin environments, and I'm not sure that's a
useful prerequisite for folk to be able to contribute to Git. I'm not
sure what a better solution here might be; maybe retire "MINGW" and
redefine "WINDOWS" to take its place, with current uses of "WINDOWS"
being replaced with "WINDOWS || CYGWIN"?

> As Đoàn Trần Công Danh pointed out, the TODO: comment may need to be
> updated.  For future-proofing, perhaps "a more similar) error on all
> platforms." would be appropriate.

I'll respin with some updated comments shortly…

  parent reply	other threads:[~2022-09-13 21:08 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-01 17:39 [PATCH] t1800: correct test to handle Cygwin Adam Dinwoodie
2022-09-01 18:32 ` Junio C Hamano
2022-09-02  1:55   ` Đoàn Trần Công Danh
2022-09-02 12:22 ` Johannes Schindelin
2022-09-07 20:49   ` Junio C Hamano
2022-09-07 20:57     ` rsbecker
2022-09-13 21:08     ` Adam Dinwoodie [this message]
2022-09-13 21:33       ` Junio C Hamano
2022-09-15  7:57 ` [PATCH v2] " Adam Dinwoodie
2022-09-15  8:51   ` rsbecker

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='CA+kUOa=DP6c417ZXXtxsJuyqJgpLZeAyr4URQPtMs0JhH1zVWQ@mail.gmail.com' \
    --to=adam@dinwoodie.org \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=avarab@gmail.com \
    --cc=congdanhqx@gmail.com \
    --cc=emilyshaffer@google.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.
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 NNTP newsgroup(s).