> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Manlio Perillo
> Sent: Wednesday, January 30, 2013 1:24 PM
> To: Marc Khouzam
> Cc: 'Junio C Hamano'; 'Michael J Gruber'; 'wookietreiber';
> '[email protected]'
> Subject: Re: [feature request] git add completion should
> exclude staged content
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Il 30/01/2013 15:06, Marc Khouzam ha scritto:
> > [...]
> >> I will try to update the patch, with your latest suggestions (avoid
> >> tricky POSIX shell syntax, and CDPATH issue - if I remember
> >> correctly),
> >> and with an update for the t/t9902-completion.sh test (that I
> >> completely
> >> missed).
> >
> > Hi Manlio,
> >
>
> Hi.
>
> > I'm trying to update git-completion.tcsh to work properly with
> > your nice new completion feature. But I'm having trouble with
> > the missing '/' at the end of directories.
> >
> > The new logic in git-completion.bash tells bash that 'filenames'
> > completion is ongoing so bash will add a '/' after directories.
> > Sadly, tcsh won't do that, so it would be simpler if
> > git-completion.bash added the '/' itself. I looked at the
> > git-completion.bash script changes and I noticed that for
> > bash version < 4, you have to add the '/' yourself.
>
> The compatible version is not only required for Bash; you can
> use it for
> other shells.
>
> Try to redefine the __git_index_file_list_filter function to use the
> version that adds a slash to directory names.
I hadn't thought of that!
Although I would prefer not to have special cases like that,
it does work well.
Thanks!
> > I also noticed the following comment:
> >
> > # XXX if we append a slash to directory names when using
> > # `compopt -o filenames`, Bash will append another slash.
> > # This is pretty stupid, and this the reason why we have to
> > # define a compatible version for this function.
> >
> > So I gather you would rather add a '/' all the time to deal
> > with older bash version transparently. This would be great
> > for tcsh also. I'm trying to figure out
> > when bash mis-behaves when you add the '/' all the time?
> > When I try it (I have bash 4.1.5(1)-release) I didn't run
> > into the double slash problem you mention in the comment.
> >
>
> I'm using the same version: 4.1.5(1), on Debian stable.
>
> > I'm hoping we can straighten this out and have
> > git-completion.bash add the '/' all the time.
> >
> > Could you explain when the problem happens?
> >
>
> Bash 4.1.5(1) always adds an additional slash for directories.
> I have tested it right now: change the filter function to use the
> compatible version:
>
> __git_index_file_list_filter ()
> {
> # Default to Bash >= 4.x
> __git_index_file_list_filter_compat
> }
>
>
> Then running `git add <TAB>` inside the git repository, I get
> this file
> completion list:
>
> $ git add <TAB>
> contrib//
Ok, I see. The double-slash is visible in the completion list
but it does not appear on the command-line when bash automatically
adds it. So if you typed
git add contri<tab>
you will properly get
git add contrib/
That is the case I was looking at.
I understand why you cannot put that second slash in the code now.
Thanks
>
>
> > Thanks
> >
>
>
> Thanks to you
>
> Manlio
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAlEJZUMACgkQscQJ24LbaUQUGACgkMG/bZrJKBzlZ8toEQwmggQX
> m9kAn2ATJbSp87kOkoCCc00eHmh71r3y
> =D9iu
> -----END PGP SIGNATURE-----
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> --
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html