A recent update to contrib/completion/git-completion.bash causes bash to fail auto complete custom commands that are wrapped with __git_func_wrap. Declaring __git_cmd_idx=0 inside __git_func_wrap resolves the issue. Signed-off-by: Fabian Wermelinger <fabianw@xxxxxxxxxxxx> --- Fixes `bash: [: -lt: unary operator expected` error for tab completions of wrapped `git` commands. For example, assume the convenience command `gaa` defined in a shell script as ```bash git aa "$@" ``` where `git aa` is an alias to `git add --all`. Then `gaa` is wrapped for bash completion like ```bash __git_complete gaa _git_add ``` For this example, the current bash completion fails at `contrib/completion/git-completion.bash:1190` due to empty local variable `c` as `__git_cmd_idx` is empty at the definition in `contrib/completion/git-completion.bash:1179`. Defining `__git_cmd_idx=0` earlier in `__git_func_wrap` attempts to solve this problem. contrib/completion/git-completion.bash | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index b50c5d0ea3..ca5b456173 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -3512,6 +3512,7 @@ fi __git_func_wrap () { local cur words cword prev + local __git_cmd_idx=0 _get_comp_words_by_ref -n =: cur words cword prev $1 } -- 2.32.0