When attempting to complete $ git config remote.push<TAB> 'pushdefault' doesn't come up. This is because "$cur" is matched with "remote.*" and a list of remotes are completed. Add 'pushdefault' to the list of remotes using __gitcomp_2 (). Also take care to not complete $ git config remote.pushdefault.<TAB> with the usual remote.<name>. candidates. Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx> --- contrib/completion/git-completion.bash | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 0bda757..9e0213d 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1896,6 +1896,9 @@ _git_config () ;; remote.*.*) local pfx="${cur%.*}." cur_="${cur##*.}" + if [ "$pfx" == "remote.pushdefault." ]; then + return + fi __gitcomp " url proxy fetch push mirror skipDefaultUpdate receivepack uploadpack tagopt pushurl @@ -1904,7 +1907,7 @@ _git_config () ;; remote.*) local pfx="${cur%.*}." cur_="${cur#*.}" - __gitcomp_nl "$(__git_remotes)" "$pfx" "$cur_" "." + __gitcomp_2 "$(__git_remotes)" "pushdefault" "$pfx" "$cur_" "." return ;; url.*.*) -- 1.8.5.2.227.g53f3478 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html