Merge from old repo to new one?
Richard Wilbur
richard.wilbur at gmail.com
Wed Aug 3 06:05:50 UTC 2016
On Tue, Aug 2, 2016 at 10:12 AM, <ckalisiak at attotech.com> wrote:
> One of the principals has decided it's time to start a new repository for
> our code base, and deprecate the old one. As projects wrap up, they'll merge
> into a central "launching point" branch, and then we'd like to merge the
> updates from that branch to a "landing point" in the new repository.
By "repository" are you speaking of a bzr repository?
Did all the current projects branch from the old repository?
Does the new repository already exist with a branch as the basis for
new projects?
Was the new repository begun with code branched from the old repository?
So is this an on-going effort as projects wrap up? Something like the
attached text art diagram?
> Once
> all current projects have completed their typical lifecycle, the old
> repository will be marked as obsolete. We're only planning on merging one
> way, and if revision history is lost, that's fine. We just want to be able
> to make use of the project-wide merge algorithm built in to Bazaar, instead
> of having to rely on a Kdiff3 manual merge.
Unless you want to lose some of the revision history, bzr will
carefully bring it all along.
Since you plan to retire the old repository after the last project
based on it completes, why don't we forget merging into it at all and
simply merge the changes from each project into the "landing point"
branch directly?
> But I can't figure out how to merge from the old repository to the new.
> Bazaar can't figure out the base revision of the launching point, which is
> understandable, but I can't figure out a way to tell the merge operation
> what to use as a basis. When I specify a merge range, say, 242..243, it
> treats everything as a conflict, and starts renaming directories in the new
> repository. Trying other merge algorithms resulted in the same conflicts.
Has someone been merging other changes into the new repository since
the "landing point" branch was branched from the "launching point"
branch?
If there weren't going to be any new changes to the "landing point"
branch before the "launching point" branch was finalized, I think you
might much more easily do something like a
$ cd landing_point
$ bzr pull $(path_to_launching_point)/launching_point
Or, possibly simpler, start the "landing point" branch by
$ cd new_repository
$ bzr branch $(path_to_launching_point)/launching_point landing_point
> If we need to rely on a plug-in, that's ok, we can work with that, maybe
> there will be a designated individual with the plug-in that will be
> responsible for doing all the merges.
I don't know, yet. I think the answer will be based on what your
workflow looks like.
Sincerely,
Richard
-------------- next part --------------
old repository new repository
"launching point" branch
|-> project A
|-> project B
|-------------------------->branch "landing point"
| | from "launching point"
| |-> project C
|<- project A ------------->|"landing point" + A
| |-> project D
|<- project B ------------->|"landing point" + B
L "launching point" retires |<- project C
|<- project D
V
More information about the bazaar
mailing list