tags-cache: directly operate on rev-num warming hgtagsfnodescache
Not having to goes through nodeid speed up things notably.
### data-env-vars.name = mozilla-try-2023-03-22-zstd-sparse-revlog
# benchmark.name = hg.debug.debug-update-cache
# bin-env-vars.hg.flavor = default
# bin-env-vars.hg.py-re2-module = default
# benchmark.variants.pre-state = warm
before-this-series: 19.947581
before-this-changes: 18.916804 (-5.17%, -1.03)
this-changesets: 17.493725 (-12.30%, -2.45)
#!/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 '/^enabled extensions:/,$d' \
-e '/^additional help topics:/,$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