All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: "SZEDER Gábor" <szeder.dev@gmail.com>,
	git@vger.kernel.org, "Taylor Blau" <me@ttaylorr.com>,
	"Emily Shaffer" <emilyshaffer@google.com>
Subject: Re: What's cooking in git.git (Aug 2021, #02; Tue, 3)
Date: Thu, 05 Aug 2021 04:53:12 +0200	[thread overview]
Message-ID: <871r78mw6w.fsf@evledraar.gmail.com> (raw)
In-Reply-To: <xmqq4kc4myme.fsf@gitster.g>


On Wed, Aug 04 2021, Junio C Hamano wrote:

> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
> [...]
>> By narrowly targeting a fix at one specific shell's cleverness around
>> COLUMNS we'll leave open a window where we'll fail on other shells if
>> they introduce similar cleverness.
>>
>> It hardly seems like a stretch that once bash starts doing that sort of
>> thing other shells might think to follow suit, and all have their own
>> non-standard way to turn it off.
>
> Hmph. Wouldn't the same argument apply to the much simpler single
> liner "shopt -u" solution?  When writing new tests, there is nothing
> to remember, and a new shell that needs a different trick to defeat
> the auto-COLUMNS would be detected quickly by running the tests in a
> terminal whose width is different from 80, no?

It's different in the "bisecting" case I mentioned. I.e. "shopt -u" is a
shell-specific solution, the approach I'm suggesting bypasses any sort
of shell-specific solutions, both current and future ones.


>> You also didn't address the other rationale for it, namely that it's
>> also future-proofing us for submarine breakages in non-git programs
>> which'll understand the new COLUMNS=10, but not GIT_TEST_COLUMNS=80.
>
> Isn't that another downside of the approach you are advocating?
>
> If we make Git rely on GIT_TEST_COLUMNS, we may honor it while
> everybody else ignores it.  If we only have to deal with COLUMNS
> like everybody else does, Git and other tools that are used in our
> tests will be affected the same way by overly-clever shells, no?

I think it's an upside. We know how git handles the combination of
GIT_TEST_COLUMNS, COLUMNS and TIOCGWINSZ. We have no idea how any
third-party program decides to behave.

So by intentionally spoiling COLUMNS=* and only having our tests pay
attention to GIT_TEST_COLUMNS we pretty much guarantee that we won't
grow some dependency on a non-git program's handling of COLUMNS, which
e.g. could differ from platform to platform.

I don't know about any such case, and spoiling COLUMNS didn't reveal
any. I just thought it was worthwhile to once-and-for-all get us away
from any sort of shell or 3rd party code cleverness around COLUMNS, as
opposed to a very narrow bugfix for just the issue we've spotted with
bash recently.

  reply	other threads:[~2021-08-05  3:01 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-04  7:03 What's cooking in git.git (Aug 2021, #02; Tue, 3) Junio C Hamano
2021-08-04 10:22 ` Ævar Arnfjörð Bjarmason
2021-08-04 17:57   ` Junio C Hamano
2021-08-04 20:06     ` Ævar Arnfjörð Bjarmason
2021-08-04 18:06   ` Junio C Hamano
2021-08-04 19:53     ` Ævar Arnfjörð Bjarmason
2021-08-04 20:10       ` Junio C Hamano
2021-08-04 21:28       ` SZEDER Gábor
2021-08-04 21:36         ` SZEDER Gábor
2021-08-04 23:06         ` Ævar Arnfjörð Bjarmason
2021-08-05  2:08           ` Junio C Hamano
2021-08-05  2:53             ` Ævar Arnfjörð Bjarmason [this message]
2021-08-30 21:03           ` SZEDER Gábor
2021-08-04 18:06   ` SZEDER Gábor
2021-08-04 14:22 ` Derrick Stolee
2021-08-04 21:03   ` Jeff King
2021-08-05  9:55   ` Phillip Wood
2021-08-05  1:37 ` Taylor Blau

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=871r78mw6w.fsf@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=emilyshaffer@google.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=me@ttaylorr.com \
    --cc=szeder.dev@gmail.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 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.