]> asedeno.scripts.mit.edu Git - git.git/blobdiff - t/t5601-clone.sh
Merge branch 'bd/diff-strbuf'
[git.git] / t / t5601-clone.sh
index b642fb260b37a7be2bcd37ea22ba2097e26f07a2..59c65fef286ad8d52a15c942f6975607f0347f66 100755 (executable)
@@ -17,14 +17,38 @@ test_expect_success setup '
 
 '
 
-test_expect_success 'clone with excess parameters' '
+test_expect_success 'clone with excess parameters (1)' '
 
+       rm -fr dst &&
+       test_must_fail git clone -n src dst junk
+
+'
+
+test_expect_success 'clone with excess parameters (2)' '
+
+       rm -fr dst &&
        test_must_fail git clone -n "file://$(pwd)/src" dst junk
 
 '
 
+test_expect_success 'output from clone' '
+       rm -fr dst &&
+       git clone -n "file://$(pwd)/src" dst >output &&
+       test $(grep Initialized output | wc -l) = 1
+'
+
+test_expect_success 'clone does not keep pack' '
+
+       rm -fr dst &&
+       git clone -n "file://$(pwd)/src" dst &&
+       ! test -f dst/file &&
+       ! (echo dst/.git/objects/pack/pack-* | grep "\.keep")
+
+'
+
 test_expect_success 'clone checks out files' '
 
+       rm -fr dst &&
        git clone src dst &&
        test -f dst/file
 
@@ -52,4 +76,35 @@ test_expect_success 'clone creates intermediate directories for bare repo' '
 
 '
 
+test_expect_success 'clone --mirror' '
+
+       git clone --mirror src mirror &&
+       test -f mirror/HEAD &&
+       test ! -f mirror/file &&
+       FETCH="$(cd mirror && git config remote.origin.fetch)" &&
+       test "+refs/*:refs/*" = "$FETCH" &&
+       MIRROR="$(cd mirror && git config --bool remote.origin.mirror)" &&
+       test "$MIRROR" = true
+
+'
+
+test_expect_success 'clone --bare names the local repository <name>.git' '
+
+       git clone --bare src &&
+       test -d src.git
+
+'
+
+test_expect_success 'clone --mirror does not repeat tags' '
+
+       (cd src &&
+        git tag some-tag HEAD) &&
+       git clone --mirror src mirror2 &&
+       (cd mirror2 &&
+        git show-ref 2> clone.err > clone.out) &&
+       test_must_fail grep Duplicate mirror2/clone.err &&
+       grep some-tag mirror2/clone.out
+
+'
+
 test_done