completion: avoid trailing space for --exec-path

"--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>
This commit is contained in:
Jonathan Nieder 2012-04-15 22:44:19 +03:00 committed by Junio C Hamano
parent 69ef3c0296
commit 3ffcd08688
2 changed files with 7 additions and 1 deletions

View File

@ -2639,6 +2639,7 @@ _git ()
--bare
--version
--exec-path
--exec-path=
--html-path
--info-path
--work-tree=

View File

@ -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 " &&