view tests/test-custom-filters @ 8982:9c0cecb71350

zsh completion: disable defaults and verbose output when completing If ui.verbose is set to True in hgrc, commands used to provide completions would yield bad results. For example, qpush completion would include the patch numbers and statuses as returned by qunapplied -v, instead of just the patch names. Defaults are also disabled when completing to prevent similar issues when an option is set that changes a command's output.
author Brodie Rao <me+hg@dackz.net>
date Tue, 30 Jun 2009 17:58:17 -0400
parents a964ab624385
children
line wrap: on
line source

#!/bin/sh

hg init

cat > .hg/hgrc <<EOF
[extensions]
prefixfilter = prefix.py
[encode]
*.txt = stripprefix: Copyright 2046, The Masters
[decode]
*.txt = insertprefix: Copyright 2046, The Masters
EOF

cat > prefix.py <<EOF
from mercurial import util
def stripprefix(s, cmd, filename, **kwargs):
    header = '%s\n' % cmd
    if s[:len(header)] != header:
        raise util.Abort('missing header "%s" in %s' % (cmd, filename))
    return s[len(header):]
def insertprefix(s, cmd):
    return '%s\n%s' % (cmd, s)
def reposetup(ui, repo):
    repo.adddatafilter('stripprefix:', stripprefix)
    repo.adddatafilter('insertprefix:', insertprefix)
EOF

cat > .hgignore <<EOF
.hgignore
prefix.py
prefix.pyc
EOF

cat > stuff.txt <<EOF
Copyright 2046, The Masters
Some stuff to ponder very carefully.
EOF
hg add stuff.txt
hg ci -m stuff

echo '% Repository data:'
hg cat stuff.txt

echo '% Fresh checkout:'
rm stuff.txt
hg up -C
cat stuff.txt
echo >> stuff.txt <<EOF
Very very carefully.
EOF
hg stat

cat > morestuff.txt <<EOF
Unauthorized material subject to destruction.
EOF

echo '% Problem encoding:'
hg add morestuff.txt
hg ci -m morestuff
hg stat