view tests/test-rebase-pull @ 8564:6b9ec23b09fc

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>
author Sune Foldager <cryo@cyanite.org>
date Sat, 23 May 2009 17:04:31 +0200
parents cb08c3765a02
children c52057614c72
line wrap: on
line source

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH

BASE=`pwd`

addcommit () {
    echo $1 > $1
    hg add $1
    hg commit -d "${2} 0" -m $1
}

commit () {
    hg commit -d "${2} 0" -m $1
}

cd $BASE
rm -rf a
hg init a
cd a
addcommit "C1" 0
addcommit "C2" 1

cd ..
hg clone a b
# This is needed to test pull --rebase
hg clone a c

cd b
addcommit "L1" 2

cd ../a
addcommit "R1" 3

cd ../b
echo
echo "% Now b has one revision to be pulled from a"
hg pull --rebase 2>&1 | sed -e 's/\(saving bundle to \).*/\1/' \
                -e 's/\(pulling from \).*/\1/'

hg glog --template '{rev}:{desc}\n'

echo
echo "% Re-run pull --rebase"
hg pull --rebase 2>&1 | sed 's/\(pulling from \).*/\1/'

echo
echo "% Invoke pull --rebase and nothing to rebase"
cd ../c
hg pull --rebase 2>&1 | sed 's/\(pulling from \).*/\1/'
hg glog --template '{rev}\n' -l 1

echo
echo "% pull --rebase --update should ignore --update"
hg pull --rebase --update 2>&1 | sed 's/\(pulling from \).*/\1/'

echo
echo "% pull --rebase doesn't update if nothing has been pulled"
hg up 1
hg pull --rebase 2>&1 | sed 's/\(pulling from \).*/\1/'
hg glog --template '{rev}\n' -l 1

exit 0