completion: handle unstuck form of base git options
git-completion.bash's parsing of the command name relies on everything preceding it starting with '-' unless it is the "-c" option. This allows users to use the stuck form of "--work-tree=<path>" and "--namespace=<path>" but not the unstuck forms "--work-tree <path>" and "--namespace <path>". Fix this. Similarly, the completion only handles the stuck form "--git-dir=<path>" and not "--git-dir <path>", so fix this as well. Signed-off-by: John Keeping <john@keeping.me.uk> Acked-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
John Keeping committed
Jun 22, 2013 at 12:25 UTC
776009d1b2bcfbd001767758fea0c2ff0e74383d
1 file changed
+2
-1
contrib/completion/git-completion.bash
+2
-1
@@ -2492,9 +2492,10 @@ __git_main ()
2492
i="${words[c]}"
2493
case "$i" in
2494
--git-dir=*) __git_dir="${i#--git-dir=}" ;;
2495
+ --git-dir) ((c++)) ; __git_dir="${words[c]}" ;;
2496
--bare) __git_dir="." ;;
2497
--help) command="help"; break ;;
2497
- -c) c=$((++c)) ;;
2498
+ -c|--work-tree|--namespace) ((c++)) ;;
2499
-*) ;;
2500
*) command="$i"; break ;;
2501
esac