Mercurial > hg
view tests/test-pull-pull-corruption @ 9815:49efeed49c94
rebase: make sure the newancestor is used during the whole update
(issue1561)
Before this change, newancestor was used only once as a replacement
for ancestor.ancestor, but merge.update calls ancestor.ancestor
several times, so it ends up with the "wrong" ancestor (the real
ancestor, but we want the parent of the rebased changeset for all but
the first rebased changeset).
Added a new test case for this: test-rebase-newancestor.
Also, in one scenario in test-rebase-collapse, there was a spurious
conflict caused by the same issue, so that test case was fixed by
removing the now unneeded conflict resolution and the output was
adapted accordingly.
author | Christian Boos <cboos@bct-technology.com> |
---|---|
date | Mon, 09 Nov 2009 20:15:49 +0100 |
parents | 81ca1a9bd061 |
children |
line wrap: on
line source
#!/bin/sh # # Corrupt an hg repo with two pulls. # # create one repo with a long history hg init source1 cd source1 touch foo hg add foo for i in 1 2 3 4 5 6 7 8 9 10; do echo $i >> foo hg ci -m $i done cd .. # create one repo with a shorter history hg clone -r 0 source1 source2 cd source2 echo a >> foo hg ci -m a cd .. # create a third repo to pull both other repos into it hg init corrupted cd corrupted # use a hook to make the second pull start while the first one is still running echo '[hooks]' >> .hg/hgrc echo 'prechangegroup = sleep 5' >> .hg/hgrc # start a pull... hg pull ../source1 & # ... and start another pull before the first one has finished sleep 1 hg pull ../source2 2>/dev/null # see the result wait hg verify