@@ -1071,4 +1071,44 @@ test_expect_success 'submodule update --quiet passes quietness to fetch with a s
)
'
+test_expect_success 'submodule update adds superproject gitdir to older repos' '
+ (cd super &&
+ git -C submodule config --unset submodule.superprojectGitdir &&
+ git submodule update &&
+ test-tool path-utils relative_path \
+ "$(git rev-parse --absolute-git-dir)" \
+ "$(git -C submodule rev-parse --absolute-git-dir)" >expect &&
+ git -C submodule config submodule.superprojectGitdir >actual &&
+ test_cmp expect actual
+ )
+'
+
+test_expect_success 'submodule update uses config.worktree if applicable' '
+ (cd super &&
+ git -C submodule config --unset submodule.superprojectGitDir &&
+ git -C submodule config extensions.worktreeConfig true &&
+ git submodule update &&
+ test-tool path-utils relative_path \
+ "$(git rev-parse --absolute-git-dir)" \
+ "$(git -C submodule rev-parse --absolute-git-dir)" >expect &&
+ git -C submodule config submodule.superprojectGitdir >actual &&
+ test_cmp expect actual &&
+
+ test_file_not_empty "$(git -C submodule rev-parse --absolute-git-dir)/config.worktree"
+ )
+'
+
+test_expect_success 'submodule update --filter requires --init' '
+ test_must_fail git -C super submodule update --filter blob:none 2>err &&
+ grep "usage:" err
+'
+
+test_expect_success 'submodule update --filter sets partial clone settings' '
+ test_when_finished "rm -rf super-filter" &&
+ git clone cloned super-filter &&
+ git -C super-filter submodule update --init --filter blob:none &&
+ test_cmp_config -C super-filter/submodule true remote.origin.promisor &&
+ test_cmp_config -C super-filter/submodule blob:none remote.origin.partialclonefilter
+'
+
test_done
Test the "--filter" option to make sure we don't break it while refactoring "git submodule update". Signed-off-by: Glen Choo <chooglen@google.com> --- t/t7406-submodule-update.sh | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)