view tests/test-commit @ 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 5ffa962783c4
children bae2e9c838e9
line wrap: on
line source

#!/bin/sh

echo % commit date test
hg init test
cd test
echo foo > foo
hg add foo
HGEDITOR=true hg commit -m ""
hg commit -d '0 0' -m commit-1
echo foo >> foo
hg commit -d '1 4444444' -m commit-3
hg commit -d '1	15.1' -m commit-4
hg commit -d 'foo bar' -m commit-5
hg commit -d ' 1 4444' -m commit-6
hg commit -d '111111111111 0' -m commit-7

echo % commit added file that has been deleted
echo bar > bar
hg add bar
rm bar
hg commit -d "1000000 0" -m commit-8
hg commit -d "1000000 0" -m commit-8-2 bar

hg -q revert -a --no-backup

mkdir dir
echo boo > dir/file
hg add
hg -v commit -d '0 0' -m commit-9 dir

echo > dir.file
hg add
hg commit -d '0 0' -m commit-10 dir dir.file

echo >> dir/file
mkdir bleh
mkdir dir2
cd bleh
hg commit -d '0 0' -m commit-11 .
hg commit -d '0 0' -m commit-12 ../dir ../dir2
hg -v commit -d '0 0' -m commit-13 ../dir
cd ..

hg commit -d '0 0' -m commit-14 does-not-exist
ln -s foo baz
hg commit -d '0 0' -m commit-15 baz
touch quux
hg commit -d '0 0' -m commit-16 quux
echo >> dir/file
hg -v commit -d '0 0' -m commit-17 dir/file
cd ..

echo % partial subdir commit test
hg init test2
cd test2
mkdir foo
echo foo > foo/foo
mkdir bar
echo bar > bar/bar
hg add
hg ci -d '1000000 0' -u test -m commit-subdir-1 foo
hg ci -d '1000001 0' -u test -m commit-subdir-2 bar
echo % subdir log 1
hg log -v foo
echo % subdir log 2
hg log -v bar
echo % full log
hg log -v
cd ..

echo % dot and subdir commit test
hg init test3
cd test3
mkdir foo
echo foo content > foo/plain-file
hg add foo/plain-file
hg ci -d '1000000 0' -u test -m commit-foo-subdir foo
echo modified foo content > foo/plain-file
hg ci -d '2000000 0' -u test -m commit-foo-dot .
echo % full log
hg log -v
echo % subdir log
cd foo
hg log .
cd ..
cd ..

exit 0