sapling/tests/test-push-warn
Thomas Arendsen Hein 7563660d88 Fix hg push and hg push -r sometimes creating new heads without --force.
Fixing issue179.

The algorithm checks if there not more new heads on the remote side than heads
which become non-heads due to getting children.

Pushing this repo:
    m
   /\
3 3a|
|/  /
2 2a
|/
1

to a repo only having 1, 2 and 3 didn't abort requiring --force before.

Added test cases for this and some doc strings for used methods.
2006-03-29 22:35:21 +02:00

56 lines
677 B
Bash
Executable File

#!/bin/sh
mkdir a
cd a
hg init
echo foo > t1
hg add t1
hg commit -m "1" -d "1000000 0"
cd ..
hg clone a b
cd a
echo foo > t2
hg add t2
hg commit -m "2" -d "1000000 0"
cd ../b
echo foo > t3
hg add t3
hg commit -m "3" -d "1000000 0"
hg push ../a
hg pull ../a
hg push ../a
hg up -m
hg commit -m "4" -d "1000000 0"
hg push ../a
cd ..
hg init c
cd c
for i in 0 1 2; do
echo $i >> foo
hg ci -Am $i -d "1000000 0"
done
cd ..
hg clone c d
cd d
for i in 0 1; do
hg co -C $i
echo d-$i >> foo
hg ci -m d-$i -d "1000000 0"
done
HGMERGE=true hg co -m 3
hg ci -m c-d -d "1000000 0"
hg push ../c
hg push -r 2 ../c
hg push -r 3 -r 4 ../c
hg push -r 5 ../c
exit 0