]> Kevux Git Server - rit/commitdiff
completion: avoid trailing space for --exec-path
authorJonathan Nieder <jrnieder@gmail.com>
Sun, 15 Apr 2012 19:44:19 +0000 (22:44 +0300)
committerJunio C Hamano <gitster@pobox.com>
Sun, 22 Apr 2012 05:39:07 +0000 (22:39 -0700)
"--exec-path" looks to the completion script like an unambiguous
successful completion, but it is wrong to emit a SP after it as if
declaring that we are done with completion; the user could be trying
to do

git --exec-path; # print name of helper directory

or

git --exec-path=/path/to/alternative/helper/dir <subcommand>

so the most helpful thing to do is to leave out the trailing space and
leave it to the operator to type an equal sign or carriage return
according to the situation.

[fc: added tests]

Cc: Andreas Schwab <schwab@linux-m68k.org>
Reported-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash
t/t9902-completion.sh

index b837704..6486a09 100755 (executable)
@@ -2639,6 +2639,7 @@ _git ()
                        --bare
                        --version
                        --exec-path
+                       --exec-path=
                        --html-path
                        --info-path
                        --work-tree=
index 0c0cd41..eb779d5 100755 (executable)
@@ -179,6 +179,7 @@ test_expect_success 'double dash "git" itself' '
        --bare Z
        --version Z
        --exec-path Z
+       --exec-path=
        --html-path Z
        --info-path Z
        --work-tree=
@@ -207,7 +208,11 @@ test_expect_success 'double dash "git checkout"' '
 test_expect_success 'general options' '
        test_completion "git --ver" "--version " &&
        test_completion "git --hel" "--help " &&
-       test_completion "git --exe" "--exec-path " &&
+       sed -e "s/Z$//" >expected <<-\EOF &&
+       --exec-path Z
+       --exec-path=
+       EOF
+       test_completion "git --exe" &&
        test_completion "git --htm" "--html-path " &&
        test_completion "git --pag" "--paginate " &&
        test_completion "git --no-p" "--no-pager " &&