Re: [PATCH 1/7] Use 'printf %s $x' notation in t5401
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 30, 2008, 06:40 UTC
- Message-ID
- <7vlk67izoa.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <20080130062156.GA15838@spearce.org>
"Shawn O. Pearce" <spearce@spearce.org> writes:
Show 6 quoted lines
> We only care about getting what should be an empty string and > sending it to a file, without a trailing LF, so the empty string > translates into a 0 byte file. Earlier when I originally wrote > these lines Mac OS X allowed the format string of printf to be > the empty string, but more recent versions appear to have been > 'improved' with error messages if the format is not given.
That sounds like a bug to me.
Show 10 quoted lines
> diff --git a/t/t5401-update-hooks.sh b/t/t5401-update-hooks.sh > index 3eea306..9734fc5 100755 > --- a/t/t5401-update-hooks.sh > +++ b/t/t5401-update-hooks.sh > @@ -25,7 +25,7 @@ test_expect_success setup ' > > cat >victim/.git/hooks/pre-receive <<'EOF' > #!/bin/sh > -printf "$@" >>$GIT_DIR/pre-receive.args > +printf %s "$@" >>$GIT_DIR/pre-receive.args
Do you really mean this? "printf %s 1 2 3" writes "123" without terminating LF. You seem to check only for size but to be reusable you might want to use something like:
printf '%s\n' "$@"
Likewise for post-receive.args.