view tests/test-convert-hg-sink @ 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 61fdf2558c0a
children 6c82beaaa11a
line wrap: on
line source

#!/bin/sh

cat >> $HGRCPATH <<EOF
[extensions]
convert=
[convert]
hg.saverev=False
EOF

hg init orig
cd orig
echo foo > foo
echo bar > bar
hg ci -qAm 'add foo and bar' -d '0 0'

hg rm foo
hg ci -m 'remove foo' -d '0 0'

mkdir foo
echo file > foo/file
hg ci -qAm 'add foo/file' -d '0 0'

hg tag -d '0 0' some-tag

hg log
cd ..

hg convert orig new 2>&1 | grep -v 'subversion python bindings could not be loaded'
cd new
hg out ../orig

echo '% dirstate should be empty:'
hg debugstate
hg parents -q

hg up -C
hg copy bar baz
echo '% put something in the dirstate:'
hg debugstate > debugstate
grep baz debugstate

echo '% add a new revision in the original repo'
cd ../orig
echo baz > baz
hg ci -qAm 'add baz'

cd ..
hg convert orig new 2>&1 | grep -v 'subversion python bindings could not be loaded'
cd new
hg out ../orig
echo '% dirstate should be the same (no output below):'
hg debugstate > new-debugstate
diff debugstate new-debugstate

echo '% no copies'
hg up -C
hg debugrename baz