tests/test-issue2137
author Yuya Nishihara <yuya@tcha.org>
Tue, 24 Aug 2010 23:30:51 +0900
branchstable
changeset 12038 9617803b1acb
parent 11072 6bbe4886740e
permissions -rwxr-xr-x
hgweb: handle exception of misconfigured path on index page If hgweb.config contains wrong path mapping, hgweb causes internal server error on repository index page. This patch changes makeindex() to ignore RepoError, because it looks to be designed to suppress configuration error.

#!/bin/sh

echo "% setup"

# create a little extension that has 3 side-effects:
#   1) ensure changelog data is not inlined
#   2) make revlog to use lazyparser
#   3) test that repo.lookup() works
# 1 and 2 are preconditions for the bug; 3 is the bug.
cat > commitwrapper.py <<EOF
from mercurial import extensions, node, revlog

def reposetup(ui, repo):
    def wrapcommit(orig, *args, **kwargs):
        result = orig(*args, **kwargs)
        tip1 = node.short(repo.changelog.tip())
        tip2 = node.short(repo.lookup(tip1))
        assert tip1 == tip2
        ui.write('new tip: %s\n' % tip1)
        return result

    extensions.wrapfunction(repo, 'commit', wrapcommit)

def extsetup(ui):
    revlog._maxinline = 8             # split out 00changelog.d early
    revlog._prereadsize = 8           # use revlog.lazyparser
EOF

cat >> $HGRCPATH <<EOF
[extensions]
commitwrapper = `pwd`/commitwrapper.py
EOF

hg init repo1
cd repo1
echo a > a
hg commit -A -m'add a with a long commit message to make the changelog a bit bigger'

echo ""
echo "% test that new changesets are visible to repo.lookup()"
echo a >> a
hg commit -m'one more commit to demonstrate the bug'
hg tip