On Sun, Nov 20, 2022 at 09:42:32PM +0100, SZEDER Gábor wrote: > On Sat, Nov 05, 2022 at 05:28:35PM +0000, Alison Winters via GitGitGadget wrote: > > From: Alison Winters <alisonatwork@xxxxxxxxxxx> > > > > When GIT_COMPLETION_IGNORE_CASE=1, also allow lowercase completion text > > like "head" to match HEAD and other pseudorefs. > > > > Signed-off-by: Alison Winters <alisonatwork@xxxxxxxxxxx> > > --- > > contrib/completion/git-completion.bash | 10 +++++++--- > > t/t9902-completion.sh | 16 ++++++++++++++++ > > 2 files changed, 23 insertions(+), 3 deletions(-) > > > > diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash > > index 8ed96a5b8b6..161327057da 100644 > > --- a/contrib/completion/git-completion.bash > > +++ b/contrib/completion/git-completion.bash > > @@ -745,6 +745,7 @@ __git_refs () > > local format refs > > local pfx="${3-}" cur_="${4-$cur}" sfx="${5-}" > > local match="${4-}" > > + local umatch="${4-}" > > Why 'umatch' and not 'imatch'? Gah, because it's all _u_pper case, as can be seen in the next hunk, that's why. > > local fer_pfx="${pfx//\%/%%}" # "escape" for-each-ref format specifiers > > local ignore_case="" > > > > @@ -772,6 +773,8 @@ __git_refs () > > if test "${GIT_COMPLETION_IGNORE_CASE-}" = "1" > > then > > ignore_case="--ignore-case" > > + # use tr instead of ${match,^^} to preserve bash 3.2 compatibility > > Thank you for keeping compatibility with old versions in mind! > > > + umatch=$(echo "$match" | tr a-z A-Z 2> /dev/null || echo "$match") >