aboutsummaryrefslogtreecommitdiff
path: root/t/t5538-push-shallow.sh
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2013-12-05 20:02:52 +0700
committerJunio C Hamano <gitster@pobox.com>2013-12-10 16:14:18 -0800
commitf2c681cf12c54ce3859b36693f8a13c36126577b (patch)
treeab72b1abe85c0a0dd87fd8a853e19a7e20437be6 /t/t5538-push-shallow.sh
parentc29a7b8b3f71c1bede1f57626bafe120280aaea3 (diff)
downloadgit-f2c681cf12c54ce3859b36693f8a13c36126577b.tar.gz
git-f2c681cf12c54ce3859b36693f8a13c36126577b.tar.xz
send-pack: support pushing from a shallow clone via http
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5538-push-shallow.sh')
-rwxr-xr-xt/t5538-push-shallow.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/t/t5538-push-shallow.sh b/t/t5538-push-shallow.sh
index 866621a74..0a6e40f14 100755
--- a/t/t5538-push-shallow.sh
+++ b/t/t5538-push-shallow.sh
@@ -154,5 +154,30 @@ EOF
)
'
+test_expect_success 'push from shallow repo via http' '
+ mv "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" shallow-upstream.git &&
+ git clone --bare --no-local full "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
+ (
+ cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
+ git config http.receivepack true
+ ) &&
+ commit 10 &&
+ git push $HTTPD_URL/smart/repo.git +master:refs/remotes/top/master &&
+ (
+ cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
+ git fsck &&
+ git log --format=%s top/master >actual &&
+ cat <<EOF >expect &&
+10
+1
+4
+3
+2
+1
+EOF
+ test_cmp expect actual
+ )
+'
+
stop_httpd
test_done