From: Junio C Hamano Date: Tue, 26 May 2015 03:44:04 +0000 (-0700) Subject: Merge branch 'jk/http-backend-deadlock-2.2' into jk/http-backend-deadlock-2.3 X-Git-Tag: v2.4.4~9^2^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/7419a03fdb3f4f1e6e78debf34a084533512c24a Merge branch 'jk/http-backend-deadlock-2.2' into jk/http-backend-deadlock-2.3 * jk/http-backend-deadlock-2.2: http-backend: spool ref negotiation requests to buffer t5551: factor out tag creation http-backend: fix die recursion with custom handler --- 7419a03fdb3f4f1e6e78debf34a084533512c24a diff --cc t/t5551-http-fetch-smart.sh index 7f6eb9f3db,2d8e5a0fbe..1cca683290 --- a/t/t5551-http-fetch-smart.sh +++ b/t/t5551-http-fetch-smart.sh @@@ -234,6 -236,12 +236,12 @@@ create_tags () # now assign tags to all the dangling commits we created above tag=$(perl -e "print \"bla\" x 30") && sed -e "s|^:\([^ ]*\) \(.*\)$|\2 refs/tags/$tag-\1|" >packed-refs + } + -test_expect_success 'create 50,000 tags in the repo' ' ++test_expect_success 'create 2,000 tags in the repo' ' + ( + cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" && - create_tags 1 50000 ++ create_tags 1 2000 ) ' @@@ -247,12 -253,16 +255,27 @@@ test_expect_success CMDLINE_LIMIT ) ' +test_expect_success 'large fetch-pack requests can be split across POSTs' ' + GIT_CURL_VERBOSE=1 git -c http.postbuffer=65536 \ + clone --bare "$HTTPD_URL/smart/repo.git" split.git 2>err && + grep "^> POST" err >posts && + test_line_count = 2 posts +' + + test_expect_success EXPENSIVE 'http can handle enormous ref negotiation' ' ++ ( ++ cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" && ++ create_tags 2001 50000 ++ ) && + git -C too-many-refs fetch -q --tags && + ( + cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" && + create_tags 50001 100000 + ) && + git -C too-many-refs fetch -q --tags && + git -C too-many-refs for-each-ref refs/tags >tags && + test_line_count = 100000 tags + ' + stop_httpd test_done