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 % bundle w/o type option
hg init t1
hg init t2
cd t1
echo blablablablabla > file.txt
hg ci -Ama
hg log | grep summary
hg bundle ../b1 ../t2
cd ../t2
hg pull ../b1
hg up
hg log | grep summary
cd ..
for t in "None" "bzip2" "gzip"; do
echo % test bundle type $t
hg init t$t
cd t1
hg bundle -t $t ../b$t ../t$t
cut -b 1-6 ../b$t | head -n 1
cd ../t$t
hg pull ../b$t
hg up
hg log | grep summary
cd ..
done
echo % test garbage file
echo garbage > bgarbage
hg init tgarbage
cd tgarbage
hg pull ../bgarbage
cd ..
echo % test invalid bundle type
cd t1
hg bundle -a -t garbage ../bgarbage
cd ..