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 коммит произвёл Junio C Hamano
Родитель 69ef3c0296
Коммит 3ffcd08688
2 изменённых файлов: 7 добавлений и 1 удалений

Просмотреть файл

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

Просмотреть файл

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