aboutsummaryrefslogtreecommitdiffstats
path: root/t/t5611-clone-config.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-04-08 13:23:25 -0700
committerJunio C Hamano <gitster@pobox.com>2021-04-08 13:23:25 -0700
commit22eee7f4554e777de93134c0ae06ee611bd570a4 (patch)
treeff7982688bc3eab633374f3ebdc53fb56abf3c03 /t/t5611-clone-config.sh
parente6b971fcf5d85db821636f2d887cfaf204b32bda (diff)
parent4fe788b1b0ee6150173580d8fa70e7d5788cf7d3 (diff)
downloadgit-22eee7f4554e777de93134c0ae06ee611bd570a4.tar.gz
Merge branch 'll/clone-reject-shallow'
"git clone --reject-shallow" option fails the clone as soon as we notice that we are cloning from a shallow repository. * ll/clone-reject-shallow: builtin/clone.c: add --reject-shallow option
Diffstat (limited to 't/t5611-clone-config.sh')
-rwxr-xr-xt/t5611-clone-config.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/t/t5611-clone-config.sh b/t/t5611-clone-config.sh
index 9f555b87ec..f8625f9158 100755
--- a/t/t5611-clone-config.sh
+++ b/t/t5611-clone-config.sh
@@ -95,6 +95,31 @@ test_expect_success 'clone -c remote.<remote>.fetch=<refspec> --origin=<name>' '
test_cmp expect actual
'
+test_expect_success 'set up shallow repository' '
+ git clone --depth=1 --no-local . shallow-repo
+'
+
+test_expect_success 'clone.rejectshallow=true should reject cloning shallow repo' '
+ test_when_finished "rm -rf out" &&
+ test_must_fail git -c clone.rejectshallow=true clone --no-local shallow-repo out 2>err &&
+ test_i18ngrep -e "source repository is shallow, reject to clone." err &&
+
+ git -c clone.rejectshallow=false clone --no-local shallow-repo out
+'
+
+test_expect_success 'option --[no-]reject-shallow override clone.rejectshallow config' '
+ test_when_finished "rm -rf out" &&
+ test_must_fail git -c clone.rejectshallow=false clone --reject-shallow --no-local shallow-repo out 2>err &&
+ test_i18ngrep -e "source repository is shallow, reject to clone." err &&
+
+ git -c clone.rejectshallow=true clone --no-reject-shallow --no-local shallow-repo out
+'
+
+test_expect_success 'clone.rejectshallow=true should succeed cloning normal repo' '
+ test_when_finished "rm -rf out" &&
+ git -c clone.rejectshallow=true clone --no-local . out
+'
+
test_expect_success MINGW 'clone -c core.hideDotFiles' '
test_commit attributes .gitattributes "" &&
rm -rf child &&