diff options
-rwxr-xr-x | contrib/completion/git-completion.bash | 3 | ||||
-rwxr-xr-x | t/t9902-completion.sh | 17 |
2 files changed, 19 insertions, 1 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 6486a09272..9f56ec7a6b 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -2623,8 +2623,9 @@ _git () case "$i" in --git-dir=*) __git_dir="${i#--git-dir=}" ;; --bare) __git_dir="." ;; - --version|-p|--paginate) ;; --help) command="help"; break ;; + -c) c=$((++c)) ;; + -*) ;; *) command="$i"; break ;; esac ((c++)) diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh index eb779d58a4..5bda6b6e18 100755 --- a/t/t9902-completion.sh +++ b/t/t9902-completion.sh @@ -223,4 +223,21 @@ test_expect_success 'general options' ' test_completion "git --inf" "--info-path " && test_completion "git --no-r" "--no-replace-objects " ' + +test_expect_success 'general options plus command' ' + test_completion "git --version check" "checkout " && + test_completion "git --paginate check" "checkout " && + test_completion "git --git-dir=foo check" "checkout " && + test_completion "git --bare check" "checkout " && + test_completion "git --help des" "describe " && + test_completion "git --exec-path=foo check" "checkout " && + test_completion "git --html-path check" "checkout " && + test_completion "git --no-pager check" "checkout " && + test_completion "git --work-tree=foo check" "checkout " && + test_completion "git --namespace=foo check" "checkout " && + test_completion "git --paginate check" "checkout " && + test_completion "git --info-path check" "checkout " && + test_completion "git --no-replace-objects check" "checkout " +' + test_done |