tests/test-mq-qfold
author Yuya Nishihara <yuya@tcha.org>
Tue, 24 Aug 2010 23:30:51 +0900
branchstable
changeset 12038 9617803b1acb
parent 10397 8cb81d75730c
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 "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
echo "[mq]" >> $HGRCPATH
echo "git=keep" >> $HGRCPATH

filterdiff()
{
    grep -v diff | \
	sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
	-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"
}

filterpatch()
{
    sed -e "s/\(# Parent \).*/\1/"
}

echo '% init'
hg init repo
cd repo
echo a > a
hg ci -Am adda
echo a >> a
hg qnew -f p1
echo b >> a
hg qnew -f p2
echo c >> a
hg qnew -f p3
echo '% fold in the middle of the queue'
hg qpop p1
hg qdiff | filterdiff
hg qfold p2
grep git .hg/patches/p1 && echo 'git patch found!'
hg qser
hg qdiff | filterdiff
echo '% fold with local changes'
echo d >> a
hg qfold p3
hg diff -c . | filterdiff
hg revert -a --no-backup

echo '% fold git patch into a regular patch, expect git patch'
echo a >> a
hg qnew -f regular
hg cp a aa
hg qnew --git -f git
hg qpop
hg qfold git
cat .hg/patches/regular | filterpatch
hg qpop
hg qdel regular

echo '% fold regular patch into a git patch, expect git patch'
hg cp a aa
hg qnew --git -f git
echo b >> aa
hg qnew -f regular
hg qpop
hg qfold regular
cat .hg/patches/git | filterpatch

cd ..