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
cat > $HGRCPATH <<EOF
[diff]
git = 1
EOF
seteol () {
if [ $1 = "LF" ]; then
EOL='\n'
else
EOL='\r\n'
fi
}
makerepo () {
echo
echo "# ==== setup repository ===="
echo '% hg init'
hg init repo
cd repo
cat > .hgeol <<EOF
[patterns]
**.txt = LF
EOF
printf "first\nsecond\nthird\n" > a.txt
hg commit --addremove -m 'LF commit'
cat > .hgeol <<EOF
[patterns]
**.txt = CRLF
EOF
printf "first\r\nsecond\r\nthird\r\n" > a.txt
hg commit -m 'CRLF commit'
cd ..
}
dotest () {
seteol $1
echo
echo "% hg clone repo repo-$1"
hg clone --noupdate repo repo-$1
cd repo-$1
cat > .hg/hgrc <<EOF
[extensions]
eol =
EOF
hg update
echo '% printrepr.py a.txt (before)'
python $TESTDIR/printrepr.py < a.txt
printf "first${EOL}third${EOL}" > a.txt
echo '% printrepr.py a.txt (after)'
python $TESTDIR/printrepr.py < a.txt
echo '% hg diff'
hg diff | python $TESTDIR/printrepr.py
echo '% hg update 0'
hg update 0
echo '% printrepr.py a.txt'
python $TESTDIR/printrepr.py < a.txt
echo '% hg diff'
hg diff | python $TESTDIR/printrepr.py
cd ..
rm -r repo-$1
}
makerepo
dotest LF
dotest CRLF
rm -r repo