Re: [PATCH] bash completion: Fix the . -> .. revision range completion
- From
Andreas Ericsson <ae@op5.se>
- Date
- Jul 16, 2008, 07:20 UTC
- Message-ID
- <487DA138.8040004@op5.se>
- In-Reply-To
- <20080715233851.GA23672@spearce.org>
Shawn O. Pearce wrote:
Show 33 quoted lines
> Andreas Ericsson <ae@op5.se> wrote:
>> I beat you to it ;-) This works just fine for me regardless of whether
>> or not I have a colon in COMP_WORDBREAKS.
> ...
>> Subject: git-completion.bash: Handle "rev:path" completion properly
> ...
>> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
>> index d268e6f..e138022 100755
>> --- a/contrib/completion/git-completion.bash
>> +++ b/contrib/completion/git-completion.bash
>> @@ -293,7 +293,11 @@ __git_complete_file ()
>> *)
>> ls="$ref"
>> ;;
>> - esac
>> + esac
>> + # When completing something like 'rev:path', bash behaves
>> + # differently whether or not COMP_WORDBREAKS contains a
>> + # colon or not. This lets it handle both cases
>> + test "${COMP_WORDBREAKS//:}" = "$COMP_WORDBREAKS" && pfx="$ref:$pfx"
>> COMPREPLY=($(compgen -P "$pfx" \
>> -W "$(git --git-dir="$(__gitdir)" ls-tree "$ls" \
>> | sed '/^100... blob /s,^.* ,,
>
> Yea, I did more or less the same thing in my patch, but I also
> handled this fix in git-fetch and git-push. The : is also used
> there in a refspec and we support completion the right side of the
> : in both cases (and yes, on git-push that can be slow as we do
> network IO, possibly over SSH).
>
> So I'm in favor of my patch over yours, but only because of
> the fetch and push fixes as well.
> I agree, although I'd rather not have seen the case statement in yours. It's bash completion after all, so no need to be "portably fast" ;-)
I don't care that much though so long as it gets fixed.
-- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231