Re: Merging frustration when tracking external projects

Rick Smith <[email protected]> Sun, 19 Dec 2004 06:30:54 -0800
Newsgroups gmane.comp.version-control.bitkeeper.user
Message-ID <[email protected]>
Hi,

The problem which you identified, is to how to take advantage
of a merge resolution which occured in another repo for some
current merge.  A way is as you described: to allow for multiple
pulls or pull from multiple sources to occur before doing a resolve.

> Is there any way to accomplish this, or am I just doing something 
> terribly wrong here?

The math in BK that makes converging easy works against you
when keeping B and C separate in the data flow you outlines.
The solutions have to do with doing some merge again -- such
as having D be a throw away version, and bring B and C together
each time.  Since you control B and C, they might be structured
to merge automatically.

Rick

On Sat, Dec 18, 2004 at 11:39:25PM -0700, Kevin P. Fleming wrote:
> Here is my repo structure:
> 
> A - tracks the external project
> B - is a clone of A, with local changes
> C - is a clone of A, with other (unrelated) local changes
> D - is a clone of A, with both B and C pulled into it (merge tree)
> 
> Now, when I pull in another batch of updates from the external project, 
> I do this:
> 
> 1) Generate a diff between the external tree and A.
> 2) 'bk import -tpatch' that diff into A
> 3) 'bk pull' A into B, and resolve conflicts
> 4) 'bk pull' A into C, and resolve conflicts
> 
> So far so good, everything works as expected. However, tonight there 
> were conflicts in both B and C that had to be manually resolved. Once I 
> did those...
> 
> 5) 'bk pull' B (or C) into D
> 
> This fails miserably. If I pull B into D, I'll have to manually resolve 
> C's conflicts again; if I pull C into D, the reverse will happen. What I 
> need to be able to do is tell BitKeeper to either:
> 
> - pull B _AND_ C into D
> 
> or
> 
> - pull B into D, without running resolve or applying the changes, then 
> pull C into D, and resolve all changes in a single batch
> 
> Is there any way to accomplish this, or am I just doing something 
> terribly wrong here? Obviously I could generate a patch from B and one 
> from C and import those into D, but I'd rather not, since BitKeeper 
> should be able to handle this with the information it has available to it.
> _______________________________________________
> Bitkeeper-users mailing list
> [email protected]
> http://bitmover.com/mailman/listinfo/bitkeeper-users
> To unsubscribe from this list, go to the above URL, follow instruction at 
> the bottom of the web page.
_______________________________________________
Bitkeeper-users mailing list
[email protected]
http://bitmover.com/mailman/listinfo/bitkeeper-users
To unsubscribe from this list, go to the above URL, follow instruction at the bottom of the web page.