7720c33f63
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABCAAGBQJZflNxAAoJELC16IaWr+bLpSsQAIT1s4c/uKAXJBw8CegM4SP1 SeB5NMnjz7VVtBsdXKPy6fVXBHCjffON/MvNXcXwGqzx3lh6SiMAVNjYknBkQcKN b639dD9HEEBRFf62a+QAyRYbFeg0NONVydB25s7RfR57HUNxFibaJDT5SoymO0/5 YCdmMENuvijvCYcwyb3MSjAKCkwDDErPzyI4NZ2YZpC7IG46Uoxq8BCdHpKhXa5I 3TNEDruBAd/UJCIQiMW1HP3OMQXzXmCTL5i4QSr/uloO1kNzkWgCZDkkFrSGFPdx UeTRXOM0r5QdFXZC36zZNoL5ELflgzrYFSerj6VkCAbiG4FAWL+43CCxuUcq5OkZ JsTYObieBMFiaowTn9hKo3ix1xDSjR2+p0bfZbOPy5jMB85oegnjV3Rp/eBoXsDm h4qo+5kv0h8H2wKdxcBfVg6LkpBZGsvEOveAtWZIcFIVIOyULj9UAsnTwOotwQiL NHO4J2fJhcvSYUj6oGB3SpabKZfcbVXRE2fzZq+3+Mt4DdzSdSmx5CEJfUmxN7sQ YLb8UKSr2vv03YfKRghCGxqjOcmQL5vY79O8+QSN3cCDFFAwxzNYaGeHJ+/chvh2 NySOkUf/uA7H1xQiZmJI1mfwQvi527MEzblCPDButm6n8ty6QyWOQ+kQYzcW5jjI kPWdqc5pCZQ+Q+q6lQc0 =rNay -----END PGP SIGNATURE----- Merge tag 'v2.7.6' into maint-2.8 Git 2.7.6
52 lines
1.1 KiB
Bash
Executable File
52 lines
1.1 KiB
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
|
|
)
|
|
'
|
|
|
|
test_expect_success 'setup proxy script' '
|
|
write_script proxy-get-cmd "$PERL_PATH" <<-\EOF &&
|
|
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;
|
|
EOF
|
|
|
|
write_script proxy <<-\EOF
|
|
echo >&2 "proxying for $*"
|
|
cmd=$(./proxy-get-cmd)
|
|
echo >&2 "Running $cmd"
|
|
exec $cmd
|
|
EOF
|
|
'
|
|
|
|
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_expect_success 'funny hostnames are rejected before running proxy' '
|
|
test_must_fail git fetch git://-remote/repo.git 2>stderr &&
|
|
! grep "proxying for" stderr
|
|
'
|
|
|
|
test_done
|