##// END OF EJS Templates
fix traceback in hgweb when URL doesn't end in one of the archive specs...
fix traceback in hgweb when URL doesn't end in one of the archive specs If the last n charecters of the URL doesn't match an entry in archive_specs req.form never has a key 'type'. When achive() looks up 'type' in the form dict it causes a traceback rather than printing an error message.

File last commit:

r6160:3ee3bc5d default
r6669:782dbbdf default
Show More
test-mq-caches
78 lines | 1.3 KiB | text/plain | TextLexer
#!/bin/sh
branches=.hg/branch.cache
echo '[extensions]' >> $HGRCPATH
echo 'hgext.mq=' >> $HGRCPATH
show_branch_cache()
{
# force cache (re)generation
hg log -r does-not-exist 2> /dev/null
hg log -r tip --template 'tip: #rev#\n'
if [ -f $branches ]; then
sort $branches
else
echo No branch cache
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'
rm $branches
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