[Kde-scm-interest] cvs2svn converted tag created from branch

Oswald Buddenhagen ossi at kde.org
Sun Mar 14 10:12:30 CET 2010


On Sat, Mar 13, 2010 at 06:57:05PM -0600, Matt Rogers wrote:
> On Saturday 13 March 2010 04:02:08 pm Thiago Macieira wrote:
> > But the entire set of branches imported from CVS is broken. Don't bother
> > with them when importing from SVN to Git.
> > 
> > They need to be reimported from CVS.
> 
> how exactly are we going to do that?
>
tags can be just re-done manually.

branches need to be converted from scratch with cvs2svn (which has a
cvs2git module nowadays). take all relevant ,v files from the cvs
repository (i still have it), convert it straight-forward, merge the new
repo into the svn2git-generated one and then have some fun with git
rebase to bring it in order (you need to discard the cvs2git-generated
trunk and base the branches on the relevant master revisions). you may
also need to use git filter-branch to throw out "phantoms" resulting
from server-side "moves" in cvs (that's one of the things my
modifications to cvs2svn did semi-automatically. in theory i can rebase
(and fix ;) this stuff on top of current cvs2svn, but this is a rather
non-trivial task).

hmm, actually, maybe this is overkill. after all, the missing files
probably result from being actively deleted - to create a tag/branch,
cvs2svn makes a base copy of everything and then a fixup eliminating
superfluous files in the same commit. the latter seems to have gone
wrong. if this is really the case, then one could fix the problem by
taking the raw svn revision files and just hand-editing out the bogosity
before the conversion (the meta-data is human-readable. one just needs
to use an editor which does not mess up the binary parts (disable *all*
whitespace normalization) and take care to fix any length fields if
necessary.


More information about the Kde-scm-interest mailing list