git-commit-vandalism/t/t5532-fetch-proxy.sh
Elia Pinto b7cbbffb85 t/t5532-fetch-proxy.sh: use the $( ... ) construct for command substitution
The Git CodingGuidelines prefer the $(...) construct for command
substitution instead of using the backquotes `...`.

The backquoted form is the traditional method for command
substitution, and is supported by POSIX.  However, all but the
simplest uses become complicated quickly.  In particular, embedded
command substitutions and/or the use of double quotes require
careful escaping with the backslash character.

The patch was generated by:

for _f in $(find . -name "*.sh")
do
	perl -i -pe 'BEGIN{undef $/;} s/`(.+?)`/\$(\1)/smg'  "${_f}"
done

and then carefully proof-read.

Signed-off-by: Elia Pinto <gitter.spiros@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-01-04 13:42:40 -08:00

44 lines
847 B
Bash
Executable File

#!/bin/sh
test_description='fetching via git:// using core.gitproxy'
. ./test-lib.sh
test_expect_success 'setup remote repo' '
git init remote &&
(cd remote &&
echo content >file &&
git add file &&
git commit -m one
)
'
cat >proxy <<'EOF'
#!/bin/sh
echo >&2 "proxying for $*"
cmd=$("$PERL_PATH" -e '
read(STDIN, $buf, 4);
my $n = hex($buf) - 4;
read(STDIN, $buf, $n);
my ($cmd, $other) = split /\0/, $buf;
# drop absolute-path on repo name
$cmd =~ s{ /}{ };
print $cmd;
')
echo >&2 "Running '$cmd'"
exec $cmd
EOF
chmod +x proxy
test_expect_success 'setup local repo' '
git remote add fake git://example.com/remote &&
git config core.gitproxy ./proxy
'
test_expect_success 'fetch through proxy works' '
git fetch fake &&
echo one >expect &&
git log -1 --format=%s FETCH_HEAD >actual &&
test_cmp expect actual
'
test_done