view tests/test-up-local-change @ 4100:c30c922f907a

Modify qpush/qpop idempotent operations to return success Modify qpush/qpop such that idempotent instances of the operations return success. That is, repeated qpush -a, qpop -a, qpush patch-name or qpop patch-name will return success. The end goal of each of these operations is to reach a particular state. Whether or not the patches were already applied does not affect that state or operation status. Likewise, be careful to retain the error status on a qpush/qpop without arguments when the end/beginning of the series has been reached.
author Ben Thomas <bthomas@virtualiron.com>
date Tue, 13 Feb 2007 08:54:48 -0500
parents 096f1c73cdc3
children 46280c004f22
line wrap: on
line source

#!/bin/sh

set -e
mkdir r1
cd r1
hg init
echo a > a
hg addremove
hg commit -m "1" -d "1000000 0"

hg clone . ../r2
cd ../r2
hg up
echo abc > a
hg diff --nodates

cd ../r1
echo b > b
echo a2 > a
hg addremove
hg commit -m "2" -d "1000000 0"

cd ../r2
hg -q pull ../r1
hg status
hg parents
hg --debug up
hg parents
hg --debug up 0
hg parents
hg --debug merge || echo failed
hg parents
hg --debug up
hg parents
hg -v history
hg diff --nodates

# create a second head
cd ../r1
hg up 0
echo b2 > b
echo a3 > a
hg addremove
hg commit -m "3" -d "1000000 0"

cd ../r2
hg -q pull ../r1
hg status
hg parents
hg --debug up || echo failed
hg --debug merge || echo failed
hg --debug merge -f
hg parents
hg diff --nodates

# test a local add
cd ..
hg init a
hg init b
echo a > a/a
echo a > b/a
hg --cwd a commit -A -m a
cd b
hg add a 
hg pull -u ../a
hg st