summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Jonathan Nieder <jrnieder@gmail.com>2012-04-15 22:44:19 +0300
committerLibravatar Junio C Hamano <gitster@pobox.com>2012-04-21 22:39:07 -0700
commit3ffcd08688a0e5f5de808c1077d10552d1f84e70 (patch)
tree90d3dec43382c81324df4e095e893c2b904b43a1
parentcompletion: add missing general options (diff)
downloadtgif-3ffcd08688a0e5f5de808c1077d10552d1f84e70.tar.xz
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>
-rwxr-xr-xcontrib/completion/git-completion.bash1
-rwxr-xr-xt/t9902-completion.sh7
2 files changed, 7 insertions, 1 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index b837704a85..6486a09272 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2639,6 +2639,7 @@ _git ()
--bare
--version
--exec-path
+ --exec-path=
--html-path
--info-path
--work-tree=
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
index 0c0cd4100e..eb779d58a4 100755
--- a/t/t9902-completion.sh
+++ b/t/t9902-completion.sh
@@ -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 " &&