#!/bin/sh
cat <<EOF >> $HGRCPATH
[extensions]
hgext.keyword =
[keyword]
* =
b* = ignore
EOF
echo % help
hg help keyword
hg init a
cd a
echo '$Id$' > a
echo '$Id$' > b
echo % cat
cat a b
echo % default keyword expansion
echo % commit
hg --debug commit -A -m ab -d '0 0' -u 'User Name <user@example.com>'
echo % status
hg status
echo % cat
cat a b
echo % hg cat
hg cat a b
rm a b
echo % update
hg update
echo % cat
cat a b
echo % custom keyword expansion
cat <<EOF >>$HGRCPATH
[keywordmaps]
Id = {file} {node|short} {date|rfc822date} {author|user}
Xinfo = {author}: {desc}
EOF
echo % cat
cat a b
echo % hg cat
hg cat a b
echo '$Xinfo$' >> a
cat <<EOF >> log
firstline
secondline
EOF
echo % commit
hg --debug commit -l log -d '1 0' -u 'User Name <user@example.com>'
rm log
echo % status
hg status
echo % cat
cat a b
echo % hg cat
hg cat a b
echo % switch off expansion
rm $HGRCPATH
echo % cat
cat a b
echo % hg cat
hg cat a b
echo % update
rm a b
hg update
echo % cat
cat a b