view tests/test-incoming-outgoing @ 5149:ad6b97132b81

merge: fix a copy detection bug (issue672) When merging rev1 and rev2, we want to search for copies that happened in rev1 but not in rev2 and vice-versa. We were starting the search at rev1/rev2 and then going back, stopping as soon as we reached the revno of the ancestor, but that can miss some cases (see the new test-issue672). Now we calculate the revisions that are ancestors of rev1 or rev2 (but not both) and make sure the search doesn't stop too early. Simplified test provided by mpm, based on a test case provided by Edward Lee.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sun, 12 Aug 2007 12:15:10 -0300
parents 9dcf9d45cab8
children e3a0c092b4e2
line wrap: on
line source

#!/bin/sh

mkdir test
cd test
hg init
for i in 0 1 2 3 4 5 6 7 8; do
	echo $i >> foo
	hg commit -A -m $i -d "1000000 0"
done
hg verify
hg serve -p 20059 -d --pid-file=hg.pid
cat hg.pid >> $DAEMON_PIDS
cd ..

hg init new
# http incoming
http_proxy= hg -R new incoming http://localhost:20059/
http_proxy= hg -R new incoming -r 4 http://localhost:20059/
# local incoming
hg -R new incoming test
hg -R new incoming -r 4 test

# test with --bundle
http_proxy= hg -R new incoming --bundle test.hg http://localhost:20059/
hg -R new incoming --bundle test2.hg test

# test the resulting bundles
hg init temp
hg init temp2
hg -R temp unbundle test.hg
hg -R temp2 unbundle test2.hg
hg -R temp tip
hg -R temp2 tip

rm -r temp temp2 new

# test outgoing
hg clone test test-dev
cd test-dev
for i in 9 10 11 12 13; do
	echo $i >> foo
	hg commit -A -m $i -d "1000000 0"
done
hg verify
cd ..
hg -R test-dev outgoing test
http_proxy= hg -R test-dev outgoing http://localhost:20059/
http_proxy= hg -R test-dev outgoing -r 11 http://localhost:20059/