Mercurial > hg > mercurial-crew-with-dirclash
view doc/hgmerge.1.txt @ 1587:851bc33ff545
Less annoying directory completion (see http://bugs.debian.org/343458)
The current bash completion script is quite painful in conjuntion with
deep directory trees because it adds a space after each successful
directory completion. Eg. "hg clone /ho<tab>" is completed to "hg clone
/home " when what you really want is "hg clone /home/" (assuming the
complete path to the repository looks like /home/foo/hg...).
That's because the 'complete' command does not know about the type of
completion it receives from the _hg shell function. When only a single
completion is returned, it assumes completion is complete and tells
readline to add a trailing space. This behaviour is usually wanted, but
not in the case of directory completion.
I've attached a patch that circumvents this problem by only returning
successful completions for directories that contain a .hg subdirectory.
If no repositories are found, no completions are returned either, and
bash falls back to ordinary (filename) completion. I find this behaviour
a lot less annoying than the current one.
Alternative: Use option nospace for the 'complete' command and let _hg
itself take care of adding a trailing space where appropriate. That's a
far more intrusive change, though.
author | Daniel Kobras <kobras@debian.org> |
---|---|
date | Thu, 15 Dec 2005 15:40:14 +0100 |
parents | 3ab6e55ee361 |
children | 345bac2bc4ec |
line wrap: on
line source
HGMERGE(1) ========== Matt Mackall <mpm@selenic.com> v0.1, 27 May 2005 NAME ---- hgmerge - default wrapper to merge files in Mercurial SCM system SYNOPSIS -------- 'hgmerge' local ancestor remote DESCRIPTION ----------- The hgmerge(1) command provides a graphical interface to merge files in the Mercurial system. It is a simple wrapper around kdiff3, merge(1) and tkdiff(1), or simply diff(1) and patch(1) depending on what is present on the system. hgmerge(1) is used by the Mercurial SCM if the environment variable HGMERGE is not set. AUTHOR ------ Written by Vincent Danjean <Vincent.Danjean@free.fr> SEE ALSO -------- hg(1) - the command line interface to Mercurial SCM COPYING ------- Copyright \(C) 2005 Matt Mackall. Free use of this software is granted under the terms of the GNU General Public License (GPL).