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.
#!/bin/sh
echo "[extensions]" >> $HGRCPATH
echo "hgext.convert = " >> $HGRCPATH
echo "[convert]" >> $HGRCPATH
echo "hg.tagsbranch=0" >> $HGRCPATH
hg init source
cd source
echo a > a
hg ci -qAm adda
# Add a merge with one parent in the same branch
echo a >> a
hg ci -qAm changea
hg up -qC 0
hg branch branch0
echo b > b
hg ci -qAm addb
hg up -qC
hg merge default
hg ci -qm mergeab
hg tag -ql mergeab
cd ..
# Miss perl... sometimes
cat > filter.py <<EOF
import sys, re
r = re.compile(r'^(?:\d+|pulling from)')
sys.stdout.writelines([l for l in sys.stdin if r.search(l)])
EOF
echo % convert
hg convert -v --config convert.hg.clonebranches=1 source dest |
python filter.py
# Add a merge with both parents and child in different branches
cd source
hg branch branch1
echo a > file1
hg ci -qAm c1
hg up -qC mergeab
hg branch branch2
echo a > file2
hg ci -qAm c2
hg merge branch1
hg branch branch3
hg ci -qAm c3
cd ..
echo % incremental conversion
hg convert -v --config convert.hg.clonebranches=1 source dest |
python filter.py