diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-03-21 12:49:08 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-03-21 12:49:08 -0700 |
commit | 1ddb4d7e5ed478ec7a0335090482c1944a64aca5 (patch) | |
tree | f7d259210d2148375b7a59138f71d92b67d6196f /t/t5537-fetch-shallow.sh | |
parent | Merge branch 'jn/wt-status' (diff) | |
parent | upload-pack: send shallow info over stdin to pack-objects (diff) | |
download | tgif-1ddb4d7e5ed478ec7a0335090482c1944a64aca5.tar.xz |
Merge branch 'nd/upload-pack-shallow'
Serving objects from a shallow repository needs to write a
temporary file to be used, but the serving upload-pack may not have
write access to the repository which is meant to be read-only.
Instead feed these temporary shallow bounds from the standard input
of pack-objects so that we do not have to use a temporary file.
* nd/upload-pack-shallow:
upload-pack: send shallow info over stdin to pack-objects
Diffstat (limited to 't/t5537-fetch-shallow.sh')
-rwxr-xr-x | t/t5537-fetch-shallow.sh | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/t/t5537-fetch-shallow.sh b/t/t5537-fetch-shallow.sh index 3ae9092f5c..be951a4679 100755 --- a/t/t5537-fetch-shallow.sh +++ b/t/t5537-fetch-shallow.sh @@ -173,4 +173,45 @@ EOF ) ' +if test -n "$NO_CURL" -o -z "$GIT_TEST_HTTPD"; then + say 'skipping remaining tests, git built without http support' + test_done +fi + +LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'5537'} +. "$TEST_DIRECTORY"/lib-httpd.sh +start_httpd + +test_expect_success 'clone http repository' ' + git clone --bare --no-local shallow "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" && + git clone $HTTPD_URL/smart/repo.git clone && + ( + cd clone && + git fsck && + git log --format=%s origin/master >actual && + cat <<EOF >expect && +7 +6 +5 +4 +3 +EOF + test_cmp expect actual + ) +' + +test_expect_success POSIXPERM,SANITY 'shallow fetch from a read-only repo' ' + cp -R .git read-only.git && + find read-only.git -print | xargs chmod -w && + test_when_finished "find read-only.git -type d -print | xargs chmod +w" && + git clone --no-local --depth=2 read-only.git from-read-only && + git --git-dir=from-read-only/.git log --format=%s >actual && + cat >expect <<EOF && +add-1-back +4 +EOF + test_cmp expect actual +' + +stop_httpd test_done |