Re: [feature request] git add completion should exclude staged content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----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 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//


> 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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]