threads / discuss / 36564

Zsh submodule name completion borked

Subject: Zsh submodule name completion borked

## tl;dr

4 messages between May 1, 2014 and May 2, 2014.

replies: 3people: 3as markdown or json

Phil Hord· May 1, 2014, 22:23 UTC · lore

When I use zsh tab-completion to complete the submodule name in 'git submodule init', I get more than I expected.

>From the gerrit repository (which has plugins):
  $ git submodule init plugins/<TAB>
  plugins/commit-message-length-validator\ \(v1.0-rc1-9-g545000b\)
  plugins/reviewnotes\ \(v1.0-rc1-8-ge984300\)
  plugins/replication\ \(v1.1-rc0-13-g4c3f4c9\)

It works ok in bash. I tried to bisect the trouble, but it still fails in 1.8.3, so I'm beginning to think it's me. Does this happen to anyone else? Is it something in my local configuration causing this?

Thanks, Phil

Jonathan Nieder· May 1, 2014, 22:31 UTC · re: Phil Hord · lore

Re: Zsh submodule name completion borked

Hi,
Phil Hord wrote:
> When I use zsh tab-completion to complete the submodule name in 'git
> submodule init', I get more than I expected.

Is this using zsh's native tab-completion (i.e., not the tab completion bundled with git)? There might have been a change there.

Another place to look for hints would be ~/.gitconfig.

Hope that helps, Jonathan

Felipe Contreras· May 1, 2014, 22:35 UTC · re: Phil Hord · lore

RE: Zsh submodule name completion borked

Phil Hord wrote:
Show 13 quoted lines
> When I use zsh tab-completion to complete the submodule name in 'git
> submodule init', I get more than I expected.
> 
> From the gerrit repository (which has plugins):
>   $ git submodule init plugins/<TAB>
>   plugins/commit-message-length-validator\ \(v1.0-rc1-9-g545000b\)
>   plugins/reviewnotes\ \(v1.0-rc1-8-ge984300\)
>   plugins/replication\ \(v1.1-rc0-13-g4c3f4c9\)
> 
> It works ok in bash.  I tried to bisect the trouble, but it still
> fails in 1.8.3, so I'm beginning to think it's me.  Does this happen
> to anyone else?  Is it something in my local configuration causing
> this?

Define 'works' in bash. From what I can see from the bash completion, it's not doing anything special, so the completion you see are simply files.

-- 
Felipe Contreras
Phil Hord· May 2, 2014, 16:23 UTC · re: Felipe Contreras · lore

Re: Zsh submodule name completion borked

On Thu, May 1, 2014 at 6:35 PM, Felipe Contreras <felipe.contreras@gmail.com> wrote:

Show 15 quoted lines
> Phil Hord wrote:
>> When I use zsh tab-completion to complete the submodule name in 'git
>> submodule init', I get more than I expected.
>>
>> From the gerrit repository (which has plugins):
>>   $ git submodule init plugins/<TAB>
>>   plugins/commit-message-length-validator\ \(v1.0-rc1-9-g545000b\)
>>   plugins/reviewnotes\ \(v1.0-rc1-8-ge984300\)
>>   plugins/replication\ \(v1.1-rc0-13-g4c3f4c9\)
>>
>> It works ok in bash.  I tried to bisect the trouble, but it still
>> fails in 1.8.3, so I'm beginning to think it's me.  Does this happen
>> to anyone else?  Is it something in my local configuration causing
>> this?
>

It seems to be something local. I thought the issue persisted with no local .zshrc config, but it looks like I only turned off my local config and not the global settings. The recent Ubuntu update is a likely culprit. I'll investigate locally and turn my reports up to Ubuntu/Debian/Zshell.

> Define 'works' in bash. From what I can see from the bash completion,
> it's not doing anything special, so the completion you see are simply
> files.

To clarify my description in case anyone else sees it or is interested, before I load /etc/zsh/zshrc, tab gives me simple filename expansion.

After I load /etc/zsh/zshrc, tab expands only submodules in HEAD. But for some reason it gets the wrong kind of results in the expansion, returning not just submodule paths, but submodule paths with tag info appended.

Sample session:
  $ zsh --norcs
  % git submodule init plugins/<TAB>
   commit-message-length-validator/
   README
   reviewnotes/
   replication/
  ^C
  % source /etc/zsh/zshrc
  % git submodule init plugins/<TAB>
  plugins/commit-message-length-validator\ \(v1.0-rc1-9-g545000b\)
  plugins/reviewnotes\ \(v1.0-rc1-8-ge984300\)
  plugins/replication\ \(v1.1-rc0-13-g4c3f4c9\)

← back to recent threads