contrib/completion: escape the forward slash in __git_match_ctag

The current definition results in an incorrect expansion of the term under zsh. For instance "/^${1////\\/}/" under zsh with the argument "hi" results in: /^/\/h/\/i/ This results in an output similar to this when trying to complete `git grep chartab` under zsh: :: git grep chartabawk: cmd. line:1: /^/\/c/\/h/\/a/\/r/\/t/\/a/\/b/ { print $1 } awk: cmd. line:1: ^ backslash not last character on line awk: cmd. line:1: /^/\/c/\/h/\/a/\/r/\/t/\/a/\/b/ { print $1 } awk: cmd. line:1: ^ syntax error Leaving the prompt in a goofy state until the user hits a key. Escaping the literal / in the parameter expansion (using "/^${1//\//\\/}/") results in: /^chartab/ allowing the completion to work correctly. This formulation also works under bash. Signed-off-by: John Szakmeister <john@szakmeister.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

John Szakmeister committed Mar 14, 2015 at 09:40 UTC db8d750876ce9c43b23ddfdbe618ec5dd12767ee
1 file changed +1 -1
contrib/completion/git-completion.bash
+1 -1
@@ -1298,7 +1298,7 @@ _git_gitk ()
1298 }
1299
1300 __git_match_ctag() {
1301 - awk "/^${1////\\/}/ { print \$1 }" "$2"
1301 + awk "/^${1//\//\\/}/ { print \$1 }" "$2"
1302 }
1303
1304 _git_grep ()