sparse-checkout: document interactions with submodules
Using 'git submodule (init|deinit)' a user can select a subset of submodules to populate. This behaves very similar to the sparse-checkout feature, but those directories contain their own .git directory including an object database and ref space. To have the sparse-checkout file also determine if those files should exist would easily cause problems. Therefore, keeping these features independent in this way is the best way forward. Also create a test that demonstrates this behavior to make sure it doesn't change as the sparse-checkout feature evolves. Reported-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
de11951b03
commit
4fd683b6a3
|
@ -164,6 +164,16 @@ case-insensitive check. This corrects for case mismatched filenames in the
|
||||||
'git sparse-checkout set' command to reflect the expected cone in the working
|
'git sparse-checkout set' command to reflect the expected cone in the working
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
|
|
||||||
|
SUBMODULES
|
||||||
|
----------
|
||||||
|
|
||||||
|
If your repository contains one or more submodules, then those submodules will
|
||||||
|
appear based on which you initialized with the `git submodule` command. If
|
||||||
|
your sparse-checkout patterns exclude an initialized submodule, then that
|
||||||
|
submodule will still appear in your working directory.
|
||||||
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
|
|
@ -340,4 +340,32 @@ test_expect_success 'cone mode: set with core.ignoreCase=true' '
|
||||||
test_cmp expect dir
|
test_cmp expect dir
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'interaction with submodules' '
|
||||||
|
git clone repo super &&
|
||||||
|
(
|
||||||
|
cd super &&
|
||||||
|
mkdir modules &&
|
||||||
|
git submodule add ../repo modules/child &&
|
||||||
|
git add . &&
|
||||||
|
git commit -m "add submodule" &&
|
||||||
|
git sparse-checkout init --cone &&
|
||||||
|
git sparse-checkout set folder1
|
||||||
|
) &&
|
||||||
|
list_files super >dir &&
|
||||||
|
cat >expect <<-\EOF &&
|
||||||
|
a
|
||||||
|
folder1
|
||||||
|
modules
|
||||||
|
EOF
|
||||||
|
test_cmp expect dir &&
|
||||||
|
list_files super/modules/child >dir &&
|
||||||
|
cat >expect <<-\EOF &&
|
||||||
|
a
|
||||||
|
deep
|
||||||
|
folder1
|
||||||
|
folder2
|
||||||
|
EOF
|
||||||
|
test_cmp expect dir
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
Loading…
Reference in New Issue