diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2008-07-15 05:52:04 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-07-14 23:35:18 -0700 |
commit | db8a9ff03831a26aa8bfad8bb026b90739d684ec (patch) | |
tree | bb730340310f88b7a70eb5db0b1537e2d723d7f2 /builtin-remote.c | |
parent | bash completion: Append space after file names have been completed (diff) | |
download | tgif-db8a9ff03831a26aa8bfad8bb026b90739d684ec.tar.xz |
bash completion: Resolve git show ref:path<tab> losing ref: portion
Linus reported that the bash completion for git show often dropped
the ref portion of the argument (stuff before the :) when trying
to complete a file name of a file in another branch or tag.
Björn Steinbrink tracked it down to the gvfs completion script
which comes standard on many Fedora Core based systems. That is
removing : from COMP_WORDBREAKS, making readline treat the entire
argument (including the ref) as the name that must be completed.
When the git completion routines supplied a completion of just the
filename, readline replaced everything.
Since Git users often need to use "ref:path" or "ref:ref" sort of
arguments, and expect completion support on both sides of the :
we really want the : in COMP_WORDBREAKS to provide a good user
experience. This is also the default that ships with bash as it
can be useful in other contexts, such as rcp/scp.
We now try to add : back to COMP_WORDBREAKS if it has been removed
by a script that loaded before us. However if this doesn't work
(as the : is stripped after we load) we fallback in the completion
routines to include "ref:" as part of the prefix for completions,
allowing readine to fully insert the argument the user wanted.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-remote.c')
0 files changed, 0 insertions, 0 deletions