setup.c: support multi-checkout repo setup
[gitweb.git] / t / t5541-http-push-smart.sh
index ffb3af44984ee4b22dcda50f4f3947d96c95e138..d2c681ebfde39fcccef190c3a242dfae9d8af2f2 100755 (executable)
@@ -324,6 +324,21 @@ test_expect_success 'push into half-auth-complete requires password' '
        test_cmp expect actual
 '
 
+run_with_limited_cmdline () {
+       (ulimit -s 128 && "$@")
+}
+
+test_lazy_prereq CMDLINE_LIMIT 'run_with_limited_cmdline true'
+
+test_expect_success CMDLINE_LIMIT 'push 2000 tags over http' '
+       sha1=$(git rev-parse HEAD) &&
+       test_seq 2000 |
+         sort |
+         sed "s|.*|$sha1 refs/tags/really-long-tag-name-&|" \
+         >.git/packed-refs &&
+       run_with_limited_cmdline git push --mirror
+'
+
 test_expect_success GPG 'push with post-receive to inspect certificate' '
        (
                cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&