branch heads: fix regression introduced in
e67e5b60e55f (
issue1726)
For merge nodes it is not adequate to only check a single possible
branch head for whether it is an ancestor of the latest head, but it
needs to be done for each possible branch head.
#!/bin/sh
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
echo % init
hg init a
cd a
echo % commit
echo 'base' > base
hg ci -Ambase -d '1 0'
echo % qnew mqbase
hg qnew -mmqbase mqbase
echo % qrefresh
echo 'patched' > base
hg qrefresh
echo % qdiff
hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"
echo % qdiff dirname
hg qdiff . | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"
echo % qdiff filename
hg qdiff --nodates base
echo % revert
hg revert -a
echo % qpop
hg qpop
echo % qdelete mqbase
hg qdelete mqbase
echo % commit 2
printf '1\n2\n3\n4\nhello world\ngoodbye world\n7\n8\n9\n' > lines
hg ci -Amlines -d '2 0'
echo % qnew 2
hg qnew -mmqbase2 mqbase2
printf '\n\n1\n2\n3\n4\nhello world\n goodbye world\n7\n8\n9\n' > lines
echo % qdiff -U 1
hg qdiff --nodates -U 1
echo % qdiff -b
hg qdiff --nodates -b
echo % qdiff -U 1 -B
hg qdiff --nodates -U 1 -B
echo qdiff -w
hg qdiff --nodates -w