how do I commit somewhere other than onto a tip?

Vincent Broman broman at spawar.navy.mil
Sat Oct 4 00:26:59 BST 2008


On Thursday, 02 October 2008, Vincent Ladeuil wrote:
>     Vincent> e.g. I want to commit a new version which should be
>     Vincent> placed in between two successive versions already
>     Vincent> committed, or else to place it ahead of all the
>     Vincent> other versions, as a new version 1.  It might even
>     Vincent> be a new branch off some parent version in the past.
> 
> Then create a new branch starting at the tip you're interested
> in, commit there, and... either merge into your work-in-progress
> trunk or merge in this new branch and makes it your new
> work-in-progress trunk.

Meinel suggested something similar, but here is the problem:
Say I have versions A,B,C

A -> B -> C

Now I commit AA which is supposed to be a successor of A and predecessor of B.

A      -> B -> C
 -> AA

There is a diff from A to B and a diff from A to AA, but
nowhere is there a diff from AA to B.
If I do a merge, the result will not be equal to B or C.
If I rewind to

A -> AA

and then replay here the diff of A to B, I don't end up with B.
If I just commit a copy of B after AA, then I get

A -> AA -> B

which is right, except this B is not the ancestor of C.
I think this leads to redoing all the commits that I had following B, by hand.

Vincent Broman



More information about the bazaar mailing list