mirror of
https://github.com/git/git.git
synced 2024-11-23 18:05:29 +08:00
b5624a4474
A future change will want a way to download a file over HTTP(S) using the simplest of download mechanisms. We do not want to assume that the server on the other side understands anything about the Git protocol but could be a simple static web server. Create the new 'get' capability for the remote helpers which advertises that the 'get' command is avalable. A caller can send a line containing 'get <url> <path>' to download the file at <url> into the file at <path>. Reviewed-by: Josh Steadmon <steadmon@google.com> Signed-off-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
38 lines
710 B
Bash
Executable File
38 lines
710 B
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='test downloading a file by URL'
|
|
|
|
. ./test-lib.sh
|
|
|
|
. "$TEST_DIRECTORY"/lib-httpd.sh
|
|
start_httpd
|
|
|
|
test_expect_success 'get by URL: 404' '
|
|
test_when_finished "rm -f file.temp" &&
|
|
url="$HTTPD_URL/none.txt" &&
|
|
cat >input <<-EOF &&
|
|
capabilities
|
|
get $url file1
|
|
EOF
|
|
|
|
test_must_fail git remote-http $url <input 2>err &&
|
|
test_path_is_missing file1 &&
|
|
grep "failed to download file at URL" err
|
|
'
|
|
|
|
test_expect_success 'get by URL: 200' '
|
|
echo data >"$HTTPD_DOCUMENT_ROOT_PATH/exists.txt" &&
|
|
|
|
url="$HTTPD_URL/exists.txt" &&
|
|
cat >input <<-EOF &&
|
|
capabilities
|
|
get $url file2
|
|
|
|
EOF
|
|
|
|
git remote-http $url <input &&
|
|
test_cmp "$HTTPD_DOCUMENT_ROOT_PATH/exists.txt" file2
|
|
'
|
|
|
|
test_done
|