named branches: improve pre-push logic (issue736)
Each named branch is considered separately, and the push is allowed if
no new branch heads are created for any named branch to be pushed.
Due to some tests's use of --debug, their output will change after this
addition. This has been fixed as well.
Co-contributor: Henrik Stuart <henrik.stuart@edlund.dk>
#!/bin/sh
# test children command
cat <<EOF >> $HGRCPATH
[extensions]
hgext.children=
EOF
echo "% init"
hg init t
cd t
echo "% no working directory"
hg children
echo % setup
echo 0 > file0
hg ci -qAm 0 -d '0 0'
echo 1 > file1
hg ci -qAm 1 -d '1 0'
echo 2 >> file0
hg ci -qAm 2 -d '2 0'
hg co null
echo 3 > file3
hg ci -qAm 3 -d '3 0'
echo "% hg children at revision 3 (tip)"
hg children
hg co null
echo "% hg children at nullrev (should be 0 and 3)"
hg children
hg co 1
echo "% hg children at revision 1 (should be 2)"
hg children
hg co 2
echo "% hg children at revision 2 (other head)"
hg children
for i in null 0 1 2 3; do
echo "% hg children -r $i"
hg children -r $i
done
echo "% hg children -r 0 file0 (should be 2)"
hg children -r 0 file0
echo "% hg children -r 1 file0 (should be 2)"
hg children -r 1 file0
hg co 0
echo "% hg children file0 at revision 0 (should be 2)"
hg children file0