Subject: Re: [Breakage] Git v2.21.0-rc0 - t5403 (NonStop)

From: SZEDER Gábor <[email-masked]>
Date: Fri, 8 Feb 2019 12:10:02 +0100

On Fri, Feb 08, 2019 at 05:48:27AM -0500, Randall S. Becker wrote:
> We have a few new breakages on the NonStop port in 2.21.0-rc0. The first is in t5403, as below:
> 
> /home/git/git/t/trash directory.t5403-post-checkout-hook/clone3/.git/hooks/post-checkout: line 2: $GIT_DIR/post-checkout.args: ambiguous redirect
> not ok 8 - post-checkout hook is triggered by clone
> #
> #               mkdir -p templates/hooks &&
> #               write_script templates/hooks/post-checkout <<-\EOF &&
> #               echo "$@" >$GIT_DIR/post-checkout.args
> #               EOF
> #               git clone --template=templates . clone3 &&
> #               test -f clone3/.git/post-checkout.args
> #
> 
> The post-checkout hook is:
> #!/usr/local/bin/bash
> echo "$@" >$GIT_DIR/post-checkout.args
> 
> This looks like it is a "bash thing" and $GIT_DIR might have to be in quotes, and is not be specific to the platform. If I replace 
> 
> echo "$@" >$GIT_DIR/post-checkout.args
> 
> with
> 
> echo "$@" >"$GIT_DIR/post-checkout.args"
> 
> The test passes.

Wow, this is the second time this "redirection to a filename with
spaces under Bash" issue pops up today, see the other one here:

  https://public-inbox.org/git/[email-masked]/T/#u

In short, Bash (when invoked as bash) doesn't conform to POSIX in this
respect; for a (too detailed) explanation see:

  https://public-inbox.org/git/20180926121107.GH27036@localhost/

Even our CodingGuidelines suggest the use of quotes around the
redirection's target.

> I wonder I should provide this patch or whether the author would like to do so.

Well, since you didn't Cc the author, he might very well overlook this
issue, so I think you should ;)