test-mq-caches
78 lines
| 1.3 KiB
| text/plain
|
TextLexer
/ tests / test-mq-caches
|
r3492 | #!/bin/sh | ||
|
r6160 | branches=.hg/branch.cache | ||
|
r3492 | echo '[extensions]' >> $HGRCPATH | ||
echo 'hgext.mq=' >> $HGRCPATH | ||||
show_branch_cache() | ||||
{ | ||||
|
r3501 | # force cache (re)generation | ||
hg log -r does-not-exist 2> /dev/null | ||||
|
r3492 | hg log -r tip --template 'tip: #rev#\n' | ||
if [ -f $branches ]; then | ||||
sort $branches | ||||
else | ||||
|
r6160 | echo No branch cache | ||
|
r3492 | fi | ||
if [ "$1" = 1 ]; then | ||||
for b in foo bar; do | ||||
hg log -r $b --template "branch $b: "'#rev#\n' | ||||
done | ||||
fi | ||||
} | ||||
hg init a | ||||
cd a | ||||
hg qinit -c | ||||
echo '# mq patch on an empty repo' | ||||
hg qnew p1 | ||||
show_branch_cache | ||||
echo > pfile | ||||
hg add pfile | ||||
hg qrefresh -m 'patch 1' | ||||
show_branch_cache | ||||
echo | ||||
echo '# some regular revisions' | ||||
hg qpop | ||||
echo foo > foo | ||||
hg add foo | ||||
echo foo > .hg/branch | ||||
hg ci -m 'branch foo' -d '1000000 0' | ||||
echo bar > bar | ||||
hg add bar | ||||
echo bar > .hg/branch | ||||
hg ci -m 'branch bar' -d '1000000 0' | ||||
show_branch_cache | ||||
echo | ||||
echo '# add some mq patches' | ||||
hg qpush | ||||
show_branch_cache | ||||
hg qnew p2 | ||||
echo foo > .hg/branch | ||||
echo foo2 >> foo | ||||
hg qrefresh -m 'patch 2' | ||||
show_branch_cache 1 | ||||
echo | ||||
echo '# removing the cache' | ||||
|
r6160 | rm $branches | ||
|
r3492 | show_branch_cache 1 | ||
echo | ||||
echo '# importing rev 1 (the cache now ends in one of the patches)' | ||||
hg qimport -r 1 -n p0 | ||||
show_branch_cache 1 | ||||
hg log -r qbase --template 'qbase: #rev#\n' | ||||
echo | ||||
echo '# detect an invalid cache' | ||||
hg qpop -a | ||||
hg qpush -a | ||||
show_branch_cache | ||||