contrib/tcsh_completion
author mason@suse.com
Tue, 04 Apr 2006 16:47:12 -0400
changeset 2079 ee96ca273f32
parent 1308 2073e5a71008
child 7766 2b2548342265
permissions -rw-r--r--
New lazy index code for revlogs. This tunes for large repositories. It does not read the whole index file in one big chunk, but tries to buffer reads in more reasonable chunks instead. Search speeds are improved in two ways. When trying to find a specific sha hash, it searches from the end of the file backward. More recent entries are more likely to be relevant, especially the tip. Also, this can load only the mapping of nodes to revlog index number. Loading the map uses less cpu (no struct.unpack) and much less memory than loading both the map and the index. This cuts down the time for hg tip on the 80,000 changeset kernel repo from 1.8s to 3.69s. Most commands the pull a single rev out of a big index get roughly the same benefit. Commands that read the whole index are not slower.

#
# tcsh completion for Mercurial
#
# This file has been auto-generated by tcsh_completion_build.sh for
# Mercurial Distributed SCM (version 325c07fd2ebd)
#
# Copyright (C) 2005 TK Soh.
#
# This is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#

complete hg \
  'n/--cwd/d/' 'n/-R/d/' 'n/--repository/d/' \
  'C/-/( -R --repository \
    --cwd \
    -y --noninteractive \
    -q --quiet \
    -v --verbose \
    --debug \
    --debugger \
    --traceback \
    --time \
    --profile \
    --version \
    -h --help)/' \
  'p/1/(add addremove annotate bundle cat \
    clone commit ci copy cp \
    debugancestor debugcheckstate debugconfig debugdata debugindex \
    debugindexdot debugrename debugstate debugwalk diff \
    export forget grep heads help \
    identify id import patch incoming \
    in init locate log history \
    manifest outgoing out parents paths \
    pull push rawcommit recover remove \
    rm rename mv revert root \
    serve status tag tags tip \
    unbundle undo update up checkout \
    co verify version)/'