public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox•com>
To: "W. Trevor King" <wking@tremily•us>
Cc: Git <git@vger•kernel.org>
Subject: Re: [PATCH] t1304: Set LOGNAME even if USER is unset or null
Date: Sun, 19 Oct 2014 15:49:36 -0700	[thread overview]
Message-ID: <xmqqegu3r7y7.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <12975d1f2b5b1cd4cc6052b829bf4814300a7ffd.1413581788.git.wking@tremily.us> (W. Trevor King's message of "Fri, 17 Oct 2014 14:39:00 -0700")

"W. Trevor King" <wking@tremily•us> writes:

> Previous LOGNAME discussion:
>
> * Michael Gruber on 2011-05-06 suggesting a discussing a whoami
>   fallback [1] (but whoami isn't POSIX).
> * René Scharfe on 2011-10-14 suggesting USER as a fallback for
>   LOGNAME [2].
> * Matthieu Moy on 2012-09-17 suggesting dropping $LOGNAME in
>   favor of numerical user IDs 'id -u' for a system with multiple
>   usernames sharing the same user ID [3].
>
> Obviously, you can work around the problem with:
>
>   # USER=$(id -u -n) ./t1304-default-acl.sh
>
> so the question is really "Are empty-USER systems worth supporting out
> of the box?".
>
> Cheers,
> Trevor
>
> [1]: http://thread.gmane.org/gmane.comp.version-control.git/172883/focus=172961
> [2]: http://thread.gmane.org/gmane.comp.version-control.git/183586
> [3]: http://thread.gmane.org/gmane.comp.version-control.git/205690/focus=205703
>
>  t/t1304-default-acl.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/t/t1304-default-acl.sh b/t/t1304-default-acl.sh
> index 79045ab..f5422f1 100755
> --- a/t/t1304-default-acl.sh
> +++ b/t/t1304-default-acl.sh
> @@ -26,7 +26,7 @@ test_expect_success 'checking for a working acl setup' '
>  
>  if test -z "$LOGNAME"
>  then
> -	LOGNAME=$USER
> +	LOGNAME="${USER:-$(id -u -n)}"

I'll queue this as-is, but it makes me wonder if we want to do this
without if/then/fi, e.g.

	: ${LOGNAME:=${USER:-$(id -u -n)}

Spelling everything out with if/then/fi is obviously at the other
extreme, i.e.

	if test -z "$LOGNAME"
	then
		if test -n "$USER"
                then
			LOGNAME=$USER
		else
			LOGNAME=$(id -u -n)
		fi
	fi

but it probably is a very bad idea.


More importantly, what if none of the alternatives work?  I
personally feel it is OK to punt and declare test_done early,
instead of giving false positive breakages like you saw without this
patch.

  reply	other threads:[~2014-10-19 22:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-17 21:39 [PATCH] t1304: Set LOGNAME even if USER is unset or null W. Trevor King
2014-10-19 22:49 ` Junio C Hamano [this message]
2014-10-20 15:28   ` W. Trevor King
2014-10-20 18:34     ` Junio C Hamano

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=xmqqegu3r7y7.fsf@gitster.dls.corp.google.com \
    --to=gitster@pobox$(echo .)com \
    --cc=git@vger$(echo .)kernel.org \
    --cc=wking@tremily$(echo .)us \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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