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