threads / discuss / 32575

git-completion.tcsh and git-completion.zsh are broken?

Subject: git-completion.tcsh and git-completion.zsh are broken?

## tl;dr

3 messages between Jan 9, 2013 and Jan 9, 2013.

replies: 2people: 2as markdown or json

Manlio Perillo· Jan 9, 2013, 19:17 UTC · lore
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi.

I have finally resolved all the problems with my path completion in git-completion.bash and, in order to avoid regressions, I'm checking the git-completion.zsh and git-completion.tcsh scripts, since they use the bash completion support.

I have installed (Debian 6.0.6):
* zsh 4.3.10 (i686-pc-linux-gnu)
* tcsh 6.17.02 (Astron) 2010-05-12 (i586-intel-linux)
  options wide,nls,dl,al,kan,rh,nd,color,filec
Note that I'm using my modified git-completion.bash script.

zsh compatibility support in git-completion.bash seems to "work" (I just get a segmentation fault ...), however I have problems with the .zsh and .tcsh scripts.

$zsh synapsis% source contrib/completion/git-completion.zsh (anon):6: command not found: ___main _git:11: command not found: _default

I have disabled compinit autoload (since, I don't know how, it is able to find the git completion script)

$tcsh synapsis:~/projects/git/contrib/git> source ~/.git-completion.tcsh synapsis:~/projects/git/contrib/git> git show HEAD:<TAB>

does not show the file list for the tree object in the HEAD
another problem is that a space is added after a directory name.
Another problem with zsh:

$zsh synapsis% git show HEAD:<TAB>569GPXZims

I don't know where that 569GPXZims came from.
Can someone else confirm these problems?
Thanks  Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlDtwjcACgkQscQJ24LbaURpuACfVQnoBC3tzvxB0JYxQ5aL3rmN 8GEAnA7OjVtPqz+aq/PGtNtTHWgFqhKK =3UdZ -----END PGP SIGNATURE-----

Marc Khouzam· Jan 9, 2013, 20:21 UTC · re: Manlio Perillo · lore

RE: git-completion.tcsh and git-completion.zsh are broken?

Show 47 quoted lines
> -----Original Message-----
> From: git-owner@vger.kernel.org 
> [mailto:git-owner@vger.kernel.org] On Behalf Of Manlio Perillo
> Sent: Wednesday, January 09, 2013 2:17 PM
> To: git@vger.kernel.org
> Subject: git-completion.tcsh and git-completion.zsh are broken?
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hi.
> 
> I have finally resolved all the problems with my path completion in
> git-completion.bash and, in order to avoid regressions, I'm 
> checking the
> git-completion.zsh and git-completion.tcsh scripts, since they use the
> bash completion support.
> 
> I have installed (Debian 6.0.6):
> * zsh 4.3.10 (i686-pc-linux-gnu)
> * tcsh 6.17.02 (Astron) 2010-05-12 (i586-intel-linux)
>   options wide,nls,dl,al,kan,rh,nd,color,filec
> 
> Note that I'm using my modified git-completion.bash script.
> 
> 
> zsh compatibility support in git-completion.bash seems to 
> "work" (I just
> get a segmentation fault ...), however I have problems with 
> the .zsh and
> .tcsh scripts.
> 
> 
> $zsh
> synapsis% source contrib/completion/git-completion.zsh
> (anon):6: command not found: ___main
> _git:11: command not found: _default
> 
> I have disabled compinit autoload (since, I don't know how, it is able
> to find the git completion script)
> 
> 
> $tcsh
> synapsis:~/projects/git/contrib/git> source ~/.git-completion.tcsh
> synapsis:~/projects/git/contrib/git> git show HEAD:<TAB>
> 
> does not show the file list for the tree object in the HEAD

Hm. That doesn't work for me either. I'll look into it. It is not caused by your changes.

> another problem is that a space is added after a directory name.

The lastest version of git-completion.tcsh in the pu branch should fix that problem. It was committed yesterday so you may not have it.

Show 27 quoted lines
> 
> 
> Another problem with zsh:
> 
> $zsh
> synapsis% git show HEAD:<TAB>569GPXZims
> 
> I don't know where that 569GPXZims came from.
> 
> 
> Can someone else confirm these problems?
> 
> 
> Thanks  Manlio
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
> 
> iEYEARECAAYFAlDtwjcACgkQscQJ24LbaURpuACfVQnoBC3tzvxB0JYxQ5aL3rmN
> 8GEAnA7OjVtPqz+aq/PGtNtTHWgFqhKK
> =3UdZ
> -----END PGP SIGNATURE-----
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
Manlio Perillo· Jan 9, 2013, 20:56 UTC · re: Marc Khouzam · lore

Re: git-completion.tcsh and git-completion.zsh are broken?

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Il 09/01/2013 21:21, Marc Khouzam ha scritto:
Show 10 quoted lines
> [...]
> 
> $zsh
> synapsis% source contrib/completion/git-completion.zsh
> (anon):6: command not found: ___main
> _git:11: command not found: _default
> 
> I have disabled compinit autoload (since, I don't know how, it is able
> to find the git completion script)
> 

The attached patch seems to fix it. I'm still getting segmentation faults, but only when I try to complete git rm contrib/<TAB> (in the git repository).

Sorry if this is a plain patch. The code is simply copied from the one found in git-completion.bash.

I also noted that zsh on my system have preinstalled git completion support (enabled with autoload). The code is not the one available in the git source tree. I don't know if the code is from Debian or zsh.

Show 15 quoted lines
> 
> $tcsh
> synapsis:~/projects/git/contrib/git> source ~/.git-completion.tcsh
> synapsis:~/projects/git/contrib/git> git show HEAD:<TAB>
> 
> does not show the file list for the tree object in the HEAD
> 
>> Hm.  That doesn't work for me either.  I'll look into it.
>> It is not caused by your changes.
> 
> another problem is that a space is added after a directory name.
> 
>> The lastest version of git-completion.tcsh in the pu branch should
>> fix that problem.  It was committed yesterday so you may not have it.
> 
Ok, thanks.
Regards  Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlDt2ZoACgkQscQJ24LbaUR/ggCfYNbRrM1HzHWYDwkejNP/hD9k ShkAnjv3JapVXPlj59CakY4kwaE/4z5J =qYP5 -----END PGP SIGNATURE-----

diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh
index 4577502..4aeda2a 100644
--- a/contrib/completion/git-completion.zsh
+++ b/contrib/completion/git-completion.zsh
@@ -75,4 +75,5 @@ _git ()
 	return _ret
 }
 
-_git
+autoload -U +X compinit && compinit
+compdef _git git gitk

← back to recent threads