view tests/test-encode @ 6174:434139080ed4

Permit XML entities to be escaped in template output. Useful for creating XML documents directly from Hg logging. Can also be used for HTML. For use in content, will escape '&', '<', and for completeness '>' (although it is not strictly necessary). For use in attributes, will also escape ' and ". Will also replace nonprinting (ASCII) control characters with spaces, since these are illegal in XML.
author Jesse Glick <jesse.glick@sun.com>
date Mon, 28 Jan 2008 22:19:12 -0500
parents 3998c1b0828f
children a6477aa893b8
line wrap: on
line source

#!/bin/sh

hg init

cat > .hg/hgrc <<EOF
[encode]
*.gz = gunzip

[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

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