Mercurial > hg
view tests/test-push-warn @ 9515:f7d85980261c
Add script to rewrite revlog to workaround lack of parent deltas.
Defaults to rewriting the manifest in the current repository.
Based on a patch to rewrite-log by Benoit Boissinot that I found here:
http://article.gmane.org/gmane.comp.version-control.mercurial.general/11908
author | Greg Ward <greg-hg@gerg.ca> |
---|---|
date | Thu, 27 Aug 2009 10:21:32 -0400 |
parents | f3569d95c2ab |
children | aa404f3f661b |
line wrap: on
line source
#!/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 merge 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 merge 3 hg ci -m c-d -d "1000000 0" 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 $? # issue 450 hg init ../e hg push -r 0 ../e ; echo $? hg push -r 1 ../e ; echo $? 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 hg push -r 4 -r 5 ../f; echo $? echo % fail on multiple head push hg -q up 1 echo 6 > foo hg -q ci -d "1000000 0" -m 6 hg push -r 4 -r 6 ../f; echo $? echo % push replacement head on existing branches hg -q up 3 echo 7 > foo hg -q ci -d "1000000 0" -m 7 hg push -r 6 -r 7 ../f; echo $? echo % merge of branch a to other branch b followed by unrelated push on branch a hg -q up 6 HGMERGE=true hg -q merge 7 hg -q ci -d "1000000 0" -m 8 hg -q up 7 echo 9 > foo hg -q ci -d "1000000 0" -m 9 hg push -r 8 ../f; echo $? hg push -r 9 ../f; echo $? echo % cheating the counting algorithm hg -q up 8 HGMERGE=true hg -q merge 2 hg -q ci -d "1000000 0" -m 10 hg -q up 1 echo 11 > foo hg -q ci -d "1000000 0" -m 11 hg push -r 10 -r 11 ../f; echo $? echo % checking prepush logic does not allow silently pushing multiple new heads cd .. hg init g echo init > g/init hg -R g ci -Am init echo a > g/a hg -R g ci -Am a hg clone g h hg -R g up 0 echo b > g/b hg -R g ci -Am b hg -R h up 0 echo c > h/c hg -R h ci -Am c hg -R h push g echo exit 0