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
cat > .hg/hgrc <<EOF
[encode]
*.gz = gzip -d
[decode]
*.gz = gzip
EOF
echo "this is a test" | gzip > a.gz
hg add a.gz
hg ci -m "test" -d "1000000 0"
echo %% no changes
hg status
touch a.gz
echo %% no changes
hg status
echo %% uncompressed contents in repo
hg debugdata .hg/store/data/a.gz.d 0
echo %% uncompress our working dir copy
gunzip < a.gz
rm a.gz
hg co -C
echo %% uncompress our new working dir copy
gunzip < a.gz
echo %% check hg cat operation
hg cat a.gz
hg cat --decode a.gz | gunzip
mkdir subdir
cd subdir
hg -R .. cat ../a.gz
hg -R .. cat --decode ../a.gz | gunzip