Code

t5540-http-push: test fetching of packed objects
authorTay Ray Chuan <rctay89@gmail.com>
Sat, 6 Jun 2009 08:43:24 +0000 (16:43 +0800)
committerJunio C Hamano <gitster@pobox.com>
Sat, 6 Jun 2009 17:56:27 +0000 (10:56 -0700)
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5540-http-push.sh

index 65a41dbe5e496b153d14a0d5438d9e0f77f6192f..ad0f14b93c50450343ccc6f938456ae8426a73a8 100755 (executable)
@@ -83,6 +83,26 @@ test_expect_failure 'http-push fetches unpacked objects' '
         git push -f -v $HTTPD_URL/test_repo_unpacked.git master)
 '
 
+test_expect_failure 'http-push fetches packed objects' '
+       cp -R "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git \
+               "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo_packed.git &&
+
+       git clone $HTTPD_URL/test_repo_packed.git \
+               "$ROOT_PATH"/test_repo_clone_packed &&
+
+       (cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo_packed.git &&
+        git --bare repack &&
+        git --bare prune-packed) &&
+
+       # By reset, we force git to retrieve the packed object
+       (cd "$ROOT_PATH"/test_repo_clone_packed &&
+        git reset --hard HEAD^ &&
+        git remote rm origin &&
+        git reflog expire --expire=0 --all &&
+        git prune &&
+        git push -f -v $HTTPD_URL/test_repo_packed.git master)
+'
+
 test_expect_success 'create and delete remote branch' '
        cd "$ROOT_PATH"/test_repo_clone &&
        git checkout -b dev &&