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
hg init repo
cd repo
echo line 1 > foo
hg ci -qAm 'add foo' -d "1000000 0"
# copy foo to bar and change both files
hg cp foo bar
echo line 2-1 >> foo
echo line 2-2 >> bar
hg ci -m 'cp foo bar; change both' -d "1000000 0"
# in another branch, change foo in a way that doesn't conflict with
# the other changes
hg up -qC 0
echo line 0 > foo
hg cat foo >> foo
hg ci -m 'change foo' -d "1000000 0"
# we get conflicts that shouldn't be there
hg merge -P
hg merge --debug
echo "-- foo --"
cat foo
echo "-- bar --"
cat bar