[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Combine CVS Repositories

From: Mark D. Baushke
Subject: Re: Combine CVS Repositories
Date: Sat, 01 Mar 2003 12:31:24 -0800

Hi Richard,

I don't know of any software that will do this for you, but it should be
possible to write something that would do it. [This is assuming that all
of the historicial data commits do not overlap time with the newer
commits, if you need to merge arbitrary repositories the job will be
much harder.]

If you can find a version on the mainline of the old repository that is
identical with a version on the new repository, then you will find it
much easier to deal with than if you had to generate an artifical
version that bridges the gap for the deltas to use.

A possible approach would be for each old foo,v go into it and determine
all of the version numbers that were used across all branches and tags.
Then go into the new foo,v file and find all of the versions branches
and tags, now it is time to create a merged foo,v. If the HEAD of the
old foo,v is identical to the 1.1 version of the new foo,v then the you
would need to renumber all of the versions in the new foo,v when
generating the merged foo,v file. If they are not identical, then you
will need to generate some kind of a transitional version to have the
proper set of reverse deltas to go from one release to another.

It is likely that the software to do a merge in the general case is
going to need human intervention to do conflict resolution in order to
stich the two repositories together into a third one.

It should be noted that Sun's TeamWare and BitMover's BitKeeper used a
similar technique on SCCS delta files...

        Good luck,
        -- Mark

reply via email to

[Prev in Thread] Current Thread [Next in Thread]