test-push-warn
197 lines
| 3.2 KiB
| text/plain
|
TextLexer
/ tests / test-push-warn
|
r816 | #!/bin/sh | ||
mkdir a | ||||
cd a | ||||
hg init | ||||
echo foo > t1 | ||||
hg add t1 | ||||
|
r1933 | hg commit -m "1" -d "1000000 0" | ||
|
r816 | |||
cd .. | ||||
hg clone a b | ||||
cd a | ||||
echo foo > t2 | ||||
hg add t2 | ||||
|
r1933 | hg commit -m "2" -d "1000000 0" | ||
|
r816 | |||
cd ../b | ||||
echo foo > t3 | ||||
hg add t3 | ||||
|
r1933 | hg commit -m "3" -d "1000000 0" | ||
|
r816 | |||
hg push ../a | ||||
hg pull ../a | ||||
hg push ../a | ||||
|
r2283 | hg merge | ||
|
r1933 | hg commit -m "4" -d "1000000 0" | ||
|
r816 | hg push ../a | ||
|
r2021 | 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 | ||||
|
r2283 | HGMERGE=true hg merge 3 | ||
|
r2021 | hg ci -m c-d -d "1000000 0" | ||
|
r3803 | hg push ../c; echo $? | ||
hg push -r 2 ../c; echo $? | ||||
hg push -r 3 ../c; echo $? | ||||
hg push -r 3 -r 4 ../c; echo $? | ||||
hg push -f -r 3 -r 4 ../c; echo $? | ||||
hg push -r 5 ../c; echo $? | ||||
|
r2021 | |||
|
r3923 | # issue 450 | ||
hg init ../e | ||||
hg push -r 0 ../e ; echo $? | ||||
hg push -r 1 ../e ; echo $? | ||||
|
r8565 | cd .. | ||
# issue 736 | ||||
echo % issue 736 | ||||
hg init f | ||||
cd f | ||||
hg -q branch a | ||||
echo 0 > foo | ||||
hg -q ci -d "1000000 0" -Am 0 | ||||
echo 1 > foo | ||||
hg -q ci -d "1000000 0" -m 1 | ||||
hg -q up 0 | ||||
echo 2 > foo | ||||
hg -q ci -d "1000000 0" -m 2 | ||||
hg -q up 0 | ||||
hg -q branch b | ||||
echo 3 > foo | ||||
hg -q ci -d "1000000 0" -m 3 | ||||
cd .. | ||||
hg -q clone f g | ||||
cd g | ||||
echo % push on existing branch and new branch | ||||
hg -q up 1 | ||||
echo 4 > foo | ||||
hg -q ci -d "1000000 0" -m 4 | ||||
hg -q up 0 | ||||
echo 5 > foo | ||||
hg -q branch c | ||||
hg -q ci -d "1000000 0" -m 5 | ||||
|
r10354 | hg push ../f; echo $? | ||
|
r8565 | hg push -r 4 -r 5 ../f; echo $? | ||
|
r10354 | echo % multiple new branches | ||
hg -q branch d | ||||
echo 6 > foo | ||||
hg -q ci -d "1000000 0" -m 6 | ||||
hg push ../f; echo $? | ||||
hg push -r 4 -r 6 ../f; echo $? | ||||
cd ../g | ||||
|
r8565 | echo % fail on multiple head push | ||
hg -q up 1 | ||||
|
r10354 | echo 7 > foo | ||
hg -q ci -d "1000000 0" -m 7 | ||||
hg push -r 4 -r 7 ../f; echo $? | ||||
|
r8565 | |||
echo % push replacement head on existing branches | ||||
hg -q up 3 | ||||
|
r10354 | echo 8 > foo | ||
hg -q ci -d "1000000 0" -m 8 | ||||
hg push -r 7 -r 8 ../f; echo $? | ||||
|
r8565 | |||
echo % merge of branch a to other branch b followed by unrelated push on branch a | ||||
hg -q up 7 | ||||
|
r10354 | HGMERGE=true hg -q merge 8 | ||
|
r8565 | hg -q ci -d "1000000 0" -m 9 | ||
|
r10354 | hg -q up 8 | ||
echo 10 > foo | ||||
hg -q ci -d "1000000 0" -m 10 | ||||
|
r8565 | hg push -r 9 ../f; echo $? | ||
|
r10354 | hg push -r 10 ../f; echo $? | ||
|
r8565 | |||
echo % cheating the counting algorithm | ||||
|
r10354 | hg -q up 9 | ||
|
r8565 | HGMERGE=true hg -q merge 2 | ||
|
r10354 | hg -q ci -d "1000000 0" -m 11 | ||
|
r8565 | hg -q up 1 | ||
|
r10354 | echo 12 > foo | ||
hg -q ci -d "1000000 0" -m 12 | ||||
hg push -r 11 -r 12 ../f; echo $? | ||||
|
r8565 | |||
|
r9479 | echo % checking prepush logic does not allow silently pushing multiple new heads | ||
cd .. | ||||
|
r9609 | hg init h | ||
echo init > h/init | ||||
hg -R h ci -Am init | ||||
echo a > h/a | ||||
hg -R h ci -Am a | ||||
hg clone h i | ||||
|
r9479 | hg -R h up 0 | ||
|
r9609 | echo b > h/b | ||
hg -R h ci -Am b | ||||
hg -R i up 0 | ||||
echo c > i/c | ||||
hg -R i ci -Am c | ||||
hg -R i push h | ||||
|
r9479 | echo | ||
|
r9954 | echo % check prepush logic with merged branches | ||
hg init j | ||||
hg -R j branch a | ||||
echo init > j/foo | ||||
hg -R j ci -Am init | ||||
hg clone j k | ||||
echo a1 > j/foo | ||||
hg -R j ci -m a1 | ||||
hg -R k branch b | ||||
echo b > k/foo | ||||
hg -R k ci -m b | ||||
hg -R k up 0 | ||||
hg -R k merge b | ||||
hg -R k ci -m merge | ||||
hg -R k push -r a j | ||||
echo | ||||
|
r10771 | echo % prepush -r should not allow you to sneak in new heads | ||
hg init l | ||||
cd l | ||||
echo a >> foo | ||||
hg -q add foo | ||||
hg -q branch a | ||||
hg -q ci -d '0 0' -ma | ||||
hg -q up null | ||||
echo a >> foo | ||||
hg -q add foo | ||||
hg -q branch b | ||||
hg -q ci -d '0 0' -mb | ||||
cd .. | ||||
hg -q clone l m -u a | ||||
cd m | ||||
hg -q merge b | ||||
hg -q ci -d '0 0' -mmb | ||||
hg -q up 0 | ||||
echo a >> foo | ||||
hg -q ci -ma2 | ||||
hg -q up 2 | ||||
echo a >> foo | ||||
hg -q branch -f b | ||||
hg -q ci -d '0 0' -mb2 | ||||
hg -q merge 3 | ||||
hg -q ci -d '0 0' -mma | ||||
hg push ../l -b b | ||||
|
r2021 | exit 0 | ||