test-keyword
229 lines
| 3.8 KiB
| text/plain
|
TextLexer
/ tests / test-keyword
Christian Ebert
|
r5816 | #!/bin/sh | ||
cat <<EOF >> $HGRCPATH | ||||
[extensions] | ||||
hgext.keyword = | ||||
[keyword] | ||||
* = | ||||
b = ignore | ||||
[hooks] | ||||
commit= | ||||
commit.test=cp a hooktest | ||||
EOF | ||||
echo % help | ||||
hg help keyword | ||||
echo % hg kwdemo | ||||
hg --quiet kwdemo --default \ | ||||
| sed -e 's![^ ][^ ]*demo.txt,v!/TMP/demo.txt,v!' \ | ||||
-e 's/,v [a-z0-9][a-z0-9]* /,v xxxxxxxxxxxx /' \ | ||||
-e '/[$]Revision/ s/: [a-z0-9][a-z0-9]* /: xxxxxxxxxxxx /' \ | ||||
-e 's! 20[0-9][0-9]/[01][0-9]/[0-3][0-9] [0-2][0-9]:[0-6][0-9]:[0-6][0-9]! 2000/00/00 00:00:00!' | ||||
hg --quiet kwdemo "Branch = {branches}" | ||||
hg init Test | ||||
cd Test | ||||
echo % kwshrink should exit silently in empty/invalid repo | ||||
hg kwshrink | ||||
echo 'expand $Id$' > a | ||||
echo 'do not process $Id:' >> a | ||||
echo 'xxx $' >> a | ||||
echo 'ignore $Id$' > b | ||||
ln -s a sym | ||||
echo % cat | ||||
cat sym a b | ||||
echo % addremove | ||||
hg addremove | ||||
echo % status | ||||
hg status | ||||
echo % default keyword expansion including commit hook | ||||
echo % interrupted commit should not change state or run commit hook | ||||
HGEDITOR=false hg --debug commit | ||||
echo % status | ||||
hg status | ||||
echo % commit | ||||
hg --debug commit -mabsym -d '0 0' -u 'User Name <user@example.com>' | ||||
echo % status | ||||
hg status | ||||
echo % identify | ||||
hg --quiet identify | ||||
echo % cat | ||||
cat sym a b | ||||
echo % hg cat | ||||
hg cat sym a b | ||||
echo | ||||
echo % diff a hooktest | ||||
diff a hooktest | ||||
echo % removing commit hook from config | ||||
sed -e '/\[hooks\]/,$ d' $HGRCPATH > $HGRCPATH.nohook | ||||
mv $HGRCPATH.nohook $HGRCPATH | ||||
rm hooktest | ||||
echo % touch | ||||
touch a b | ||||
echo % status | ||||
hg status | ||||
rm sym a b | ||||
echo % update | ||||
hg update | ||||
echo % cat | ||||
cat sym a b | ||||
echo % copy | ||||
hg cp a c | ||||
echo % kwfiles added | ||||
hg kwfiles | ||||
echo % commit | ||||
hg --debug commit -ma2c -d '1 0' -u 'User Name <user@example.com>' | ||||
echo % cat a c | ||||
cat a c | ||||
echo % touch copied c after 1 second | ||||
sleep 1 | ||||
touch c | ||||
echo % status | ||||
hg status | ||||
echo % kwfiles | ||||
hg kwfiles | ||||
echo % diff --rev | ||||
hg diff --rev 0 | grep -v 'b/c' | ||||
echo % rollback | ||||
hg rollback | ||||
echo % status | ||||
hg status | ||||
echo % update -C | ||||
hg update --clean | ||||
echo % custom keyword expansion | ||||
echo % try with kwdemo | ||||
hg --quiet kwdemo "Xinfo = {author}: {desc}" | ||||
cat <<EOF >>$HGRCPATH | ||||
[keywordmaps] | ||||
Id = {file} {node|short} {date|rfc822date} {author|user} | ||||
Xinfo = {author}: {desc} | ||||
EOF | ||||
echo % cat | ||||
cat sym a b | ||||
echo % hg cat | ||||
hg cat sym a b | ||||
echo | ||||
echo '$Xinfo$' >> a | ||||
cat <<EOF >> log | ||||
firstline | ||||
secondline | ||||
EOF | ||||
echo % interrupted commit should not change state | ||||
HGEDITOR=false hg commit | ||||
echo % status | ||||
hg status | ||||
echo % commit | ||||
hg --debug commit -l log -d '2 0' -u 'User Name <user@example.com>' | ||||
rm log | ||||
echo % status | ||||
hg status | ||||
echo % cat | ||||
cat sym a b | ||||
echo % hg cat | ||||
hg cat sym a b | ||||
echo | ||||
echo % remove | ||||
hg remove a | ||||
hg --debug commit -m rma | ||||
echo % status | ||||
hg status | ||||
echo % rollback | ||||
hg rollback | ||||
echo % status | ||||
hg status | ||||
echo % revert a | ||||
hg revert --no-backup --rev tip a | ||||
echo % cat a | ||||
cat a | ||||
echo % clone to test incoming | ||||
cd .. | ||||
hg clone -r0 Test Test-a | ||||
cd Test-a | ||||
cat <<EOF >> .hg/hgrc | ||||
[paths] | ||||
default = ../Test | ||||
EOF | ||||
echo % incoming | ||||
# remove path to temp dir | ||||
hg incoming | sed -e 's/^\(comparing with \).*\(test-keyword.*\)/\1\2/' | ||||
Will Maier
|
r5839 | sed -e 's/Id.*/& rejecttest/' a > a.new | ||
mv a.new a | ||||
Christian Ebert
|
r5816 | echo % commit rejecttest | ||
hg --debug commit -m'rejects?' -d '3 0' -u 'User Name <user@example.com>' | ||||
echo % export | ||||
hg export -o ../rejecttest.diff tip | ||||
cd ../Test | ||||
echo % import | ||||
hg import ../rejecttest.diff | ||||
echo % cat | ||||
cat sym a b | ||||
echo | ||||
echo % rollback | ||||
hg rollback | ||||
echo % clean update | ||||
hg update --clean | ||||
echo % kwexpand/kwshrink on selected files | ||||
mkdir x | ||||
echo % copy a x/a | ||||
hg copy a x/a | ||||
echo % kwexpand a | ||||
hg --verbose kwexpand a | ||||
echo % kwexpand x/a should abort | ||||
hg --verbose kwexpand x/a | ||||
cd x | ||||
hg --debug commit -m xa -d '3 0' -u 'User Name <user@example.com>' | ||||
echo % cat a | ||||
cat a | ||||
echo % kwshrink a inside directory x | ||||
hg --verbose kwshrink a | ||||
echo % cat a | ||||
cat a | ||||
cd - > /dev/null 2>&1 | ||||
echo % kwexpand nonexistent | ||||
hg kwexpand nonexistent | ||||
echo % switch off expansion | ||||
echo % kwshrink with unknown file u | ||||
cp a u | ||||
hg --verbose kwshrink | ||||
echo % cat | ||||
cat sym a b | ||||
echo % hg cat | ||||
hg cat sym a b | ||||
echo | ||||
rm $HGRCPATH | ||||
echo % cat | ||||
cat sym a b | ||||
echo % hg cat | ||||
hg cat sym a b | ||||
echo | ||||