Subject: Re: [PATCH] git-completion: offer references for 'git reflog'

From: Michael Schubert <[email-masked]>
Date: Tue, 04 Oct 2011 21:34:25 +0200

On 10/04/2011 07:05 PM, Junio C Hamano wrote:
> Michael Schubert <[email-masked]> writes:
> 
>> On 09/25/2011 12:42 PM, Michael Schubert wrote:
>>> 'git reflog <ref>' is a valid command, therefore offer reference
>>> completion.
>>>
>>> Signed-off-by: Michael Schubert <[email-masked]>
>>> ---
>>>  contrib/completion/git-completion.bash |    2 +-
>>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
>>> index 8648a36..63d0f08 100755
>>> --- a/contrib/completion/git-completion.bash
>>> +++ b/contrib/completion/git-completion.bash
>>> @@ -1774,7 +1774,7 @@ _git_reflog ()
>>>  	local subcommand="$(__git_find_on_cmdline "$subcommands")"
>>>  
>>>  	if [ -z "$subcommand" ]; then
>>> -		__gitcomp "$subcommands"
>>> +		__gitcomp "$subcommands $(__git_refs)"
>>>  	else
>>>  		__gitcomp "$(__git_refs)"
>>>  	fi
>>
>> Ping.?
> 
> Personally I think this change will give much less pleasant user
> experience.  This is what I currently get:
> 
>     $ git reflog <TAB>
>     delete  expire  show
>     $ git reflog
> 
> and after learning the "show" subcommand exists, this is what I would get:
> 
>     $ git reflog show <TAB>
>     Display all 626 possibilities? (y or n)
> 
> With your change, I would get:
> 
>     $ git reflog <TAB>
>     Display all 629 possibilities? (y or n)

Yeah, that would be a tradeoff. IMHO the current behaviour is pleasant
for newcomers, but (I guess) most users would rather enjoy "the short form".

> and do not even have a chance to remind myself if the subcommand to drop
> a reflog was "delete" or "remove".
> 
> At least when I know that I want to be reminded of refs to $verb (use one
> of the three subcommands I currently get in place of the "$verb"), I can
> say
> 
>     $ git reflog $verb <TAB>
> 
> and at that point, I am willing to wade thru list of 600+ refs.