git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eric Sunshine <sunshine@sunshineco.com>
To: phillip.wood@dunelm.org.uk
Cc: "Eric Sunshine" <ericsunshine@charter.net>,
	git@vger.kernel.org, "Junio C Hamano" <gitster@pobox.com>,
	"Rubén Justo" <rjusto@gmail.com>
Subject: Re: [PATCH 1/4] t3430: modernize one-shot "VAR=val shell-func" invocation
Date: Fri, 26 Jul 2024 02:33:30 -0400	[thread overview]
Message-ID: <CAPig+cRfMVZv2hMQRtPmy+HYpxV5=4XBWypPHAL4uwmv8WmT=w@mail.gmail.com> (raw)
In-Reply-To: <1b672247-c05d-44f5-967a-9861d715040b@gmail.com>

On Tue, Jul 23, 2024 at 5:26 AM Phillip Wood <phillip.wood123@gmail.com> wrote:
> On 22/07/2024 16:09, Phillip Wood wrote:
> > On 22/07/2024 07:59, Eric Sunshine wrote:
> >> Unlike "VAR=val cmd" one-shot environment variable assignments which
> >> exist only for the invocation of 'cmd', those assigned by "VAR=val
> >> shell-func" exist within the running shell and continue to do so until
> >> the process exits (or are explicitly unset).
>
> Having seen the parallel discussion about the behavior of hash this
> construct is non-portable because the behavior differs between shells so
> perhaps the commit message could say something like
>
> Unlike "VAR=val cmd" one-shot environment variable assignments which
> only exist for the invocation of external command "cmd", the behavior of
> "VAR=val func" where "func" is a shell function or builtin command
> varies between shells and so we should not use it in our test suite.

Indeed, given all the subsequent discussion, it is now apparent that
multiple undesirable behaviors have been experienced, not just the one
mentioned by this commit message, and that POSIX states that the
behavior is undefined.

  reply	other threads:[~2024-07-26  6:33 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-22  6:59 [PATCH 0/4] improve one-shot variable detection with shell function Eric Sunshine
2024-07-22  6:59 ` [PATCH 1/4] t3430: modernize one-shot "VAR=val shell-func" invocation Eric Sunshine
2024-07-22 15:09   ` Phillip Wood
2024-07-23  9:26     ` Phillip Wood
2024-07-26  6:33       ` Eric Sunshine [this message]
2024-07-26  6:15     ` Eric Sunshine
2024-07-22 18:24   ` Junio C Hamano
2024-07-26  6:30     ` Eric Sunshine
2024-07-22  6:59 ` [PATCH 2/4] t4034: fix use of one-shot variable assignment with shell function Eric Sunshine
2024-07-22  6:59 ` [PATCH 3/4] check-non-portable-shell: improve `VAR=val shell-func` detection Eric Sunshine
2024-07-22 14:46   ` Rubén Justo
2024-07-26  6:45     ` Eric Sunshine
2024-07-26 13:15       ` Rubén Justo
2024-07-22 17:26   ` Kyle Lippincott
2024-07-22 18:10     ` Junio C Hamano
2024-07-22 21:35       ` Kyle Lippincott
2024-07-22 21:57         ` Junio C Hamano
2024-07-22  6:59 ` [PATCH 4/4] check-non-portable-shell: suggest alternative for `VAR=val shell-func` Eric Sunshine
2024-07-22 14:47   ` Rubén Justo
2024-07-22 14:50 ` [PATCH 0/4] improve one-shot variable detection with shell function Rubén Justo
2024-07-26  8:15 ` [PATCH v2 0/5] " Eric Sunshine
2024-07-26  8:15   ` [PATCH v2 1/5] t3430: drop unnecessary one-shot "VAR=val shell-func" invocation Eric Sunshine
2024-07-26 18:50     ` Junio C Hamano
2024-07-26 19:32       ` Eric Sunshine
2024-07-26  8:15   ` [PATCH v2 2/5] t4034: fix use of one-shot variable assignment with shell function Eric Sunshine
2024-07-26  8:15   ` [PATCH v2 3/5] check-non-portable-shell: loosen one-shot assignment error message Eric Sunshine
2024-07-26  8:15   ` [PATCH v2 4/5] check-non-portable-shell: suggest alternative for `VAR=val shell-func` Eric Sunshine
2024-07-26 13:11     ` Rubén Justo
2024-07-26 19:31       ` Eric Sunshine
2024-07-26  8:15   ` [PATCH v2 5/5] check-non-portable-shell: improve `VAR=val shell-func` detection Eric Sunshine
2024-07-26 18:38   ` [PATCH v2 0/5] improve one-shot variable detection with shell function Junio C Hamano
2024-07-27  5:35   ` [PATCH v3 " Eric Sunshine
2024-07-27  5:35     ` [PATCH v3 1/5] t3430: drop unnecessary one-shot "VAR=val shell-func" invocation Eric Sunshine
2024-07-27  5:35     ` [PATCH v3 2/5] t4034: fix use of one-shot variable assignment with shell function Eric Sunshine
2024-07-27  5:35     ` [PATCH v3 3/5] check-non-portable-shell: loosen one-shot assignment error message Eric Sunshine
2024-07-27  5:35     ` [PATCH v3 4/5] check-non-portable-shell: suggest alternative for `VAR=val shell-func` Eric Sunshine
2024-07-27  5:35     ` [PATCH v3 5/5] check-non-portable-shell: improve `VAR=val shell-func` detection Eric Sunshine
  -- strict thread matches above, loose matches on Subject: below --
2024-10-02  3:39 [PATCH 1/4] t3430: modernize one-shot "VAR=val shell-func" invocation Crystal M Baker

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='CAPig+cRfMVZv2hMQRtPmy+HYpxV5=4XBWypPHAL4uwmv8WmT=w@mail.gmail.com' \
    --to=sunshine@sunshineco.com \
    --cc=ericsunshine@charter.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=phillip.wood@dunelm.org.uk \
    --cc=rjusto@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 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).