diff options
author | Philippe Blain <levraiphilippeblain@gmail.com> | 2024-02-10 18:32:21 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-02-12 17:43:42 (GMT) |
commit | b1d0cc68d1921f8d26a947fe662697e42dffb730 (patch) | |
tree | af7e8da91ad6a97085da240fb6ced70256f86dec /t/t9902-completion.sh | |
parent | 30bd55f901c97c310e674c051f00920f38a66ee0 (diff) | |
download | git-b1d0cc68d1921f8d26a947fe662697e42dffb730.zip git-b1d0cc68d1921f8d26a947fe662697e42dffb730.tar.gz git-b1d0cc68d1921f8d26a947fe662697e42dffb730.tar.bz2 |
completion: complete 'submodule.*' config variables
In the Bash completion script, function
__git_complete_config_variable_name completes config variables and has
special logic to deal with config variables involving user-defined
names, like branch.<name>.* and remote.<name>.*.
This special logic is missing for submodule-related config variables.
Add the appropriate branches to the case statement, making use of the
in-tree '.gitmodules' to list relevant submodules.
Add corresponding tests in t9902-completion.sh, making sure we complete
both first level submodule config variables as well as second level
variables involving submodule names.
Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9902-completion.sh')
-rwxr-xr-x | t/t9902-completion.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh index 35eb534..23d0e71 100755 --- a/t/t9902-completion.sh +++ b/t/t9902-completion.sh @@ -2583,6 +2583,35 @@ test_expect_success 'git config - variable name include' ' EOF ' +test_expect_success 'setup for git config submodule tests' ' + test_create_repo sub && + test_commit -C sub initial && + git submodule add ./sub +' + +test_expect_success 'git config - variable name - submodule' ' + test_completion "git config submodule." <<-\EOF + submodule.active Z + submodule.alternateErrorStrategy Z + submodule.alternateLocation Z + submodule.fetchJobs Z + submodule.propagateBranches Z + submodule.recurse Z + submodule.sub.Z + EOF +' + +test_expect_success 'git config - variable name - submodule names' ' + test_completion "git config submodule.sub." <<-\EOF + submodule.sub.url Z + submodule.sub.update Z + submodule.sub.branch Z + submodule.sub.fetchRecurseSubmodules Z + submodule.sub.ignore Z + submodule.sub.active Z + EOF +' + test_expect_success 'git config - value' ' test_completion "git config color.pager " <<-\EOF false Z |