Re: [PATCH] completion: fix shell expansion of items
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- Sep 20, 2012, 18:11 UTC
- Message-ID
- <20120920181152.GA4689@goldbirke>
- In-Reply-To
- <20120920014608.GA27782@sigill.intra.peff.net>
Hi,
On Wed, Sep 19, 2012 at 09:46:08PM -0400, Jeff King wrote:
Show 16 quoted lines
> On Thu, Sep 20, 2012 at 04:15:15AM +0200, Felipe Contreras wrote:
>
> > As reported by Jeroen Meijer[1]; the current code doesn't deal properly
> > with items (tags, branches, etc.) that have ${} in them because they get
> > expaned by bash while using compgen.
> >
> > A simple solution is to quote the items so they get expanded properly
> > (\$\{\}).
> >
> > In order to achieve that I took bash-completion's quote() function,
> > which is rather simple, and renamed it to __git_quote() as per Jeff
> > King's suggestion.
> >
> > Solves the original problem for me.
>
> Me too. Thanks.While it solves the original problem, it seems to break refs completion, as demonstrated by the following POC test:
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh index 92d7eb47..fab63b95 100755 --- a/t/t9902-completion.sh +++ b/t/t9902-completion.sh @@ -228,4 +228,11 @@ test_expect_success 'general options plus command' ' test_completion "git --no-replace-objects check" "checkout " ' +test_expect_success 'basic refs completion' ' + touch file && + git add file && + git commit -m initial && + test_completion "git branch m" "master " +' + test_done
-- 1.7.12.1.438.g7dfa67b which fails with: --- expected 2012-09-20 18:05:23.857752925 +0000 +++ out 2012-09-20 18:05:23.877752925 +0000 @@ -1 +1 @@ -master +