Code

t5550-http-fetch: add test for http-fetch
authorTay Ray Chuan <rctay89@gmail.com>
Thu, 25 Nov 2010 08:21:03 +0000 (16:21 +0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 26 Nov 2010 22:50:45 +0000 (14:50 -0800)
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5550-http-fetch.sh

index 39f7b7c20ae387525bd427017cd9b0f553a07e44..d3bf5cefb14d5228904b80b538e170aa294584a4 100755 (executable)
@@ -30,7 +30,8 @@ test_expect_success 'create http-accessible bare repository' '
 '
 
 test_expect_success 'clone http repository' '
-       git clone $HTTPD_URL/dumb/repo.git clone &&
+       git clone $HTTPD_URL/dumb/repo.git clone-tmpl &&
+       cp -R clone-tmpl clone &&
        test_cmp file clone/file
 '
 
@@ -42,6 +43,17 @@ test_expect_success 'fetch changes via http' '
        test_cmp file clone/file
 '
 
+test_expect_success 'fetch changes via manual http-fetch' '
+       cp -R clone-tmpl clone2 &&
+
+       HEAD=$(git rev-parse --verify HEAD) &&
+       (cd clone2 &&
+        git http-fetch -a -w heads/master-new $HEAD $(git config remote.origin.url) &&
+        git checkout master-new &&
+        test $HEAD = $(git rev-parse --verify HEAD)) &&
+       test_cmp file clone2/file
+'
+
 test_expect_success 'http remote detects correct HEAD' '
        git push public master:other &&
        (cd clone &&