path: root/t/
diff options
authorStefan Beller <>2016-03-30 01:27:45 (GMT)
committerJunio C Hamano <>2016-03-30 20:09:48 (GMT)
commitc1e06d11c7ab67080f0a08cd60b84c329442abb4 (patch)
tree71e93d2501b0794f1a7699e924bf6ba1e19ac4f2 /t/
parentb08238ac3f5e4033d26824afc65e7397fbb61847 (diff)
submodule update: test recursive path reporting from subdirectory
This patch is just a test and fixes no bug as there is currently no bug in the path handling of `submodule update`. In `submodule update` we make a call to `submodule--helper list --prefix "$wt_prefix"` which looks a bit brittle and likely to introduce a bug for the path handling. It is not a bug as the prefix is ignored inside the submodule helper for now. If this test breaks eventually, we want to make sure the `wt_prefix` is passed correctly into recursive submodules. Hint: In recursive submodules we expect `wt_prefix` to be empty. Signed-off-by: Stefan Beller <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 't/')
1 files changed, 20 insertions, 0 deletions
diff --git a/t/ b/t/
index 01dd324..e5af4b4 100755
--- a/t/
+++ b/t/
@@ -379,6 +379,26 @@ test_expect_success 'submodule update - command in .git/config catches failure -
test_cmp actual expect
+cat << EOF >expect
+Execution of 'false $submodulesha1' failed in submodule path '../super/submodule'
+Failed to recurse into submodule path '../super'
+test_expect_success 'recursive submodule update - command in .git/config catches failure -- subdirectory' '
+ (cd recursivesuper &&
+ git submodule update --remote super &&
+ git add super &&
+ git commit -m "update to latest to have more than one commit in submodules"
+ ) &&
+ git -C recursivesuper/super config submodule.submodule.update "!false" &&
+ git -C recursivesuper/super/submodule reset --hard $submodulesha1^ &&
+ (cd recursivesuper &&
+ mkdir -p tmp && cd tmp &&
+ test_must_fail git submodule update --recursive ../super 2>../../actual
+ ) &&
+ test_cmp actual expect
test_expect_success 'submodule init does not copy command into .git/config' '
(cd super &&
H=$(git ls-files -s submodule | cut -d" " -f2) &&