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
# test parents command
hg init repo
cd repo
echo % no working directory
hg parents
echo a > a
echo b > b
hg ci -Amab -d '0 0'
echo a >> a
hg ci -Ama -d '1 0'
echo b >> b
hg ci -Amb -d '2 0'
echo c > c
hg ci -Amc -d '3 0'
hg up -C 1
echo d > c
hg ci -Amc2 -d '4 0'
hg up -C 3
echo % hg parents
hg parents
echo % hg parents a
hg parents a
echo % hg parents c, single revision
hg parents c
echo % hg parents -r 3 c
hg parents -r 3 c
echo % hg parents -r 2
hg parents -r 2
echo % hg parents -r 2 a
hg parents -r 2 a
echo % hg parents -r 2 ../a
hg parents -r 2 ../a
echo '% cd dir; hg parents -r 2 ../a'
mkdir dir
cd dir
hg parents -r 2 ../a
echo '% hg parents -r 2 path:a'
hg parents -r 2 path:a
echo '% hg parents -r 2 glob:a'
cd ..
hg parents -r 2 glob:a
echo % merge working dir with 2 parents, hg parents c
HGMERGE=true hg merge
hg parents c
echo % merge working dir with 1 parent, hg parents
hg up -C 2
HGMERGE=true hg merge -r 4
hg parents
echo % merge working dir with 1 parent, hg parents c
hg parents c
true