contrib/tcsh_completion_build.sh
author mason@suse.com
Tue, 13 Sep 2005 19:32:53 -0500
changeset 1238 6a4f181497c9
parent 1157 6e66235084d9
child 1308 2073e5a71008
permissions -rw-r--r--
Add log -b to show the branch a specific revision lives in This can be somewhat slow on very large repositories, so I didn't want to include it in -v --- hg.orig/mercurial/commands.py 2005-09-13 14:21:57.000000000 -0500 +++ hg/mercurial/commands.py 2005-09-13 18:55:52.000000000 -0500 @@ -1161,7 +1161,10 @@ def log(ui, repo, *pats, **opts): du = dui(ui) elif st == 'add': du.bump(rev) - show_changeset(du, repo, rev) + br = None + if opts['branch']: + br = repo.branchlookup([repo.changelog.node(rev)]) + show_changeset(du, repo, rev, brinfo=br) if opts['patch']: changenode = repo.changelog.node(rev) prev, other = repo.changelog.parents(changenode) @@ -1743,6 +1746,7 @@ table = { (log, [('I', 'include', [], 'include path in search'), ('X', 'exclude', [], 'exclude path from search'), + ('b', 'branch', None, 'show branches'), ('r', 'rev', [], 'revision'), ('p', 'patch', None, 'show patch')], 'hg log [-I] [-X] [-r REV]... [-p] [FILE]'),

#!/bin/sh

#
# tcsh_completion_build.sh - script to generate tcsh completion
#
#
# 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. 
#
#
# Description
# -----------
# This script generates a tcsh source file to support completion
# of Mercurial commands and options.
#
# Instruction:
# -----------
# Run this script to generate the tcsh source file, and source
# the file to add command completion support for Mercurial.
#
#    tcsh% tcsh_completion.sh FILE
#    tcsh% source FILE
#
# If FILE is not specified, tcsh_completion will be generated.
#
# Bugs:
# ----
# 1. command specific options are not supported
# 2. hg commands must be specified immediately after 'hg'.
#

tcsh_file=${1-tcsh_completion}

hg_commands=`hg --debug help | \
        sed -e '1,/^list of commands:/d' \
            -e '/^global options:/,$d' \
            -e '/^ [^ ]/!d; s/[,:]//g;' | \
        xargs -n5 | \
        sed -e '$!s/$/ \\\\/g; 2,$s/^ */    /g'`

hg_global_options=`hg -v help | \
        sed -e '1,/global/d;/^ *-/!d; s/ [^- ].*//' | \
        sed -e 's/ *$//; $!s/$/ \\\\/g; 2,$s/^ */    /g'`

hg_version=`hg version | sed -e '1q'`

script_name=`basename $0`

cat > $tcsh_file <<END
#
# tcsh completion for Mercurial
#
# This file has been auto-generated by $script_name for
# $hg_version 
#
# 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/-/($hg_global_options)/' \\
  'p/1/($hg_commands)/'

END