tests/test-encode
author Greg Ward <greg-hg@gerg.ca>
Mon, 05 Oct 2009 18:17:13 -0400
changeset 9547 f57640bf10d4
parent 8742 a964ab624385
child 10211 a474f950357b
permissions -rwxr-xr-x
cmdutil: changeset_printer: use methods of filectx/changectx. This allows extensions that modify changeset metadata (e.g. description) by overriding methods of changectx to get consistent behavior from all log-like commands, regardless of whether templates or styles are used. Without this, overriding changectx methods works if you use styles or templates, but not with default log format. This meant adding filectx.extra() for consistency with changectx.

#!/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