[RFC/PATCH v4 48/49] Add test for 'clone --initial-refspec'
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
t/t5616-clone-initial-refspec.sh | 48 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
create mode 100755 t/t5616-clone-initial-refspec.sh
diff --git a/t/t5616-clone-initial-refspec.sh b/t/t5616-clone-initial-refspec.sh
new file mode 100755
index 0000000000..ccbc27f83f
--- /dev/null
+++ b/t/t5616-clone-initial-refspec.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+test_description='test clone with --initial-refspec option'
+. ./test-lib.sh
+
+
+test_expect_success 'setup regular repo' '
+ # Make two branches, "master" and "side"
+ echo one >file &&
+ git add file &&
+ git commit -m one &&
+ echo two >file &&
+ git commit -a -m two &&
+ git tag two &&
+ echo three >file &&
+ git commit -a -m three &&
+ git checkout -b side &&
+ echo four >file &&
+ git commit -a -m four &&
+ git checkout master
+'
+
+test_expect_success 'add a special ref pointing to a blob' '
+ hash=$(echo "Hello world!" | git hash-object -w -t blob --stdin) &&
+ git update-ref refs/special/hello "$hash"
+'
+
+test_expect_success 'no-local clone from the first repo' '
+ mkdir my-clone &&
+ (cd my-clone &&
+ git clone --no-local .. . &&
+ test_must_fail git cat-file blob "$hash") &&
+ rm -rf my-clone
+'
+
+test_expect_success 'no-local clone with --initial-refspec' '
+ mkdir my-clone &&
+ (cd my-clone &&
+ git clone --no-local --initial-refspec "refs/special/*:refs/special/*" .. . &&
+ git cat-file blob "$hash" &&
+ git rev-parse refs/special/hello >actual &&
+ echo "$hash" >expected &&
+ test_cmp expected actual) &&
+ rm -rf my-clone
+'
+
+test_done
+
--
2.13.1.565.gbfcd7a9048