It looks like as if submodule configs ("submodule.*") for submodules
with upper case names are ignored. The test cases shows that skipping
a submodule during a recursive clone seems not to work.

Signed-off-by: Lars Schneider <larsxschnei...@gmail.com>
---

I observed the bug on Windows, macOS, and Linux and at least on
v2.11.0 and v2.11.1:
https://travis-ci.org/larsxschneider/git/builds/201828672

Right now I have no time to fix it but I might be able to look into it
next week (if no one else tackles it before that).

Cheers,
Lars


Notes:
    Base Commit: 3b9e3c2ced (v2.11.1)
    Diff on Web: https://github.com/larsxschneider/git/commit/a122feaf9f
    Checkout:    git fetch https://github.com/larsxschneider/git 
submodule/uppercase-bug-v1 && git checkout a122feaf9f

 t/t7400-submodule-basic.sh | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
index b77cce8e40..83b5c0d1e0 100755
--- a/t/t7400-submodule-basic.sh
+++ b/t/t7400-submodule-basic.sh
@@ -1116,5 +1116,39 @@ test_expect_success 'submodule helper list is not 
confused by common prefixes' '
        test_cmp expect actual
 '

+test_expect_success 'submodule config does not apply to upper case submodules' 
'
+       test_when_finished "rm -rf super lowersub clone-success clone-failure" 
&&
+       mkdir lowersub &&
+       (
+               cd lowersub &&
+               git init &&
+               >t &&
+               git add t &&
+               git commit -m "initial commit lowersub"
+       ) &&
+       mkdir UPPERSUB &&
+       (
+               cd UPPERSUB &&
+               git init &&
+               >t &&
+               git add t &&
+               git commit -m "initial commit UPPERSUB"
+       ) &&
+       mkdir super &&
+       (
+               cd super &&
+               git init &&
+               >t &&
+               git add t &&
+               git commit -m "initial commit super" &&
+               git submodule add ../lowersub &&
+               git submodule add ../UPPERSUB &&
+               git commit -m "add submodules"
+       ) &&
+       git -c submodule.lowersub.update=none clone --recursive super 
clone-success 2>&1 |
+               grep "Skipping submodule" &&
+       git -c submodule.UPPERSUB.update=none clone --recursive super 
clone-failure 2>&1 |
+               grep "Skipping submodule"
+'

 test_done

base-commit: 3b9e3c2cede15057af3ff8076c45ad5f33829436
--
2.11.0

Reply via email to