> -----Original Message----- > From: git-owner@xxxxxxxxxxxxxxx > [mailto:git-owner@xxxxxxxxxxxxxxx] On Behalf Of Manlio Perillo > Sent: Wednesday, January 30, 2013 1:24 PM > To: Marc Khouzam > Cc: 'Junio C Hamano'; 'Michael J Gruber'; 'wookietreiber'; > 'git@xxxxxxxxxxxxxxx' > 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 majordomo@xxxxxxxxxxxxxxx > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html