provide pre- and post- hooks with parsed command line arguments.
python hooks are passed two new keyword arguments:
- opts: a dict of options; unsepcified options are set to their default
- pats: a list of arguments
shell hooks receive two new variables containing string representations
of the above data:
- $HG_OPTS
- $HG_PATS
for example, the opts and pats for 'hg -f v1.1' would be:
{'force': True, 'message': '', 'rev': '', 'user': '', 'date': '', 'local': None, 'remove': None, 'mq': None}
['v1.1']
#!/bin/sh
echo 'raise Exception("bit bucket overflow")' > badext.py
abspath=`pwd`/badext.py
echo '[extensions]' >> $HGRCPATH
echo "gpg =" >> $HGRCPATH
echo "hgext.gpg =" >> $HGRCPATH
echo "badext = $abspath" >> $HGRCPATH
echo "badext2 =" >> $HGRCPATH
hg -q help help 2>&1 | python -c \
"import sys; sys.stdout.write(sys.stdin.read().replace('$abspath', '.../badext.py'))"