Git development
 help / color / mirror / Atom feed
From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: Kenneth Lorber <keni@his.com>
Cc: git@vger.kernel.org, redoste <redoste@redoste.xyz>,
	Fabian Stelzer <fs@gigacodes.de>, Xi Ruoyao <xry111@xry111.site>,
	Patrick Steinhardt <ps@pks.im>,
	Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH 1/1] t7528: fix failure under csh
Date: Mon, 3 Aug 2026 02:13:56 +0000	[thread overview]
Message-ID: <am_5YymI-UnCT_s1@fruit.crustytoothpaste.net> (raw)
In-Reply-To: <20260803004105.36913-2-keni@his.com>

[-- Attachment #1: Type: text/plain, Size: 1984 bytes --]

On 2026-08-03 at 00:41:03, Kenneth Lorber wrote:
> Explicitly set sh mode for ssh-agent (ssh-agent -s) to prevent
> failure when user's login shell is csh-like.  The failure is
> caused by propagation of the $SHELL value from the user's original
> shell despite the test and test harness explictly using sh, which
> makes ssh-agent emit initialization code for the wrong shell:
> 
> > cd t
> > echo $SHELL
> /bin/tcsh
> > ./t7528-signed-commit-ssh.sh --verbose --debug
> [...]
> expecting success of 7528.2 'sign commits using literal public keys with ssh-agent':
> [...]
> ./t7528-signed-commit-ssh.sh: 1: eval: setenv: not found
> ./t7528-signed-commit-ssh.sh: 1: eval: setenv: not found
> [...]
> 
> Signed-off-by: Kenneth Lorber <keni@his.com>
> ---
>  t/t7528-signed-commit-ssh.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/t/t7528-signed-commit-ssh.sh b/t/t7528-signed-commit-ssh.sh
> index b50306b9b3..7bf4a40de2 100755
> --- a/t/t7528-signed-commit-ssh.sh
> +++ b/t/t7528-signed-commit-ssh.sh
> @@ -82,7 +82,7 @@ test_expect_success GPGSSH 'create signed commits' '
>  test_expect_success GPGSSH 'sign commits using literal public keys with ssh-agent' '
>  	test_when_finished "test_unconfig commit.gpgsign" &&
>  	test_config gpg.format ssh &&
> -	eval $(ssh-agent -T || ssh-agent) &&
> +	eval $(ssh-agent -T -s || ssh-agent -s) &&
>  	test_when_finished "kill ${SSH_AGENT_PID}" &&
>  	test_when_finished "test_unconfig user.signingkey" &&
>  	mkdir tmpdir &&

This seems reasonable.  SHELL is defined by POSIX as "a pathname of the
user's preferred command language interpreter."  When we're running the
testsuite, we don't care what that is and always want a POSIX
sh-compatible output, so using `-s` is the right thing.

I also don't see any other instances of `ssh-agent` in the codebase, so
this looks like the only place we need to fix.
-- 
brian m. carlson (they/them)
Toronto, Ontario, CA

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 325 bytes --]

      reply	other threads:[~2026-08-03  2:13 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-03  0:41 [PATCH 0/1] t7528: fix failure under csh Kenneth Lorber
2026-08-03  0:41 ` [PATCH 1/1] " Kenneth Lorber
2026-08-03  2:13   ` brian m. carlson [this message]

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=am_5YymI-UnCT_s1@fruit.crustytoothpaste.net \
    --to=sandals@crustytoothpaste.net \
    --cc=fs@gigacodes.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=keni@his.com \
    --cc=ps@pks.im \
    --cc=redoste@redoste.xyz \
    --cc=xry111@xry111.site \
    /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