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.
adding base
abort: qdelete requires at least one revision or patch name
abort: cannot delete applied patch c
popping c
now at: b
a
b
a
b
series
status
popping b
now at: a
a
b
series
status
patch a finalized without changeset message
1 [mq]: a
0 base
abort: cannot delete revision 3 above applied patches
patch d finalized without changeset message
patch e finalized without changeset message
f
4 [mq]: f
3 [mq]: e
2 [mq]: d
1 [mq]: a
0 base
adding base
abort: no revisions specified
no patches applied
abort: revision 0 is not managed
abort: cannot delete revision 2 above applied patches
popping c
now at: b
abort: unknown revision 'c'!
applying c
patch c is empty
now at: c
patch a finalized without changeset message
patch b finalized without changeset message
c
3 imported patch c
2 [mq]: b
1 [mq]: a
0 base
patch c finalized without changeset message
3 imported patch c
2 [mq]: b
1 [mq]: a
0 base
series
status