[Gllug] Moving from CVS

Peter Grandi pg_gllug at gllug.for.sabi.co.UK
Sat Aug 6 16:17:54 UTC 2005


>>> On Fri, 05 Aug 2005 15:19:33 +0100, Rich Walker
>>> <rw at shadow.org.uk> said:

rw> Hi, Some time ago, I put our sources under CVS. I know.
rw> Anyway, I've decided that my own proliferation of random
rw> branch tags, working directories, and so on is getting Too
rw> Much,

Uhm, this is often more of an organizational than a technical
problem... However one of the weaknesses of CVS is that it is
less forgiving of the consequences of organizational issues.

rw> and having watched [ ... MS on bzr ... ] I decided it was
rw> time to move to something else.

The main advantages of switching from CVS to something else are
to have a P2P instead of client-server repository structure,
and/or support for ''unplanned'' branching (renaming of
directories is a much smaller and more subtle issue).

There are downsides, like one usually loses RCS compatibility
and usually lower reliability. Another one is that since more
recent VCSes encourage unplanned branching one may end with a
situation in which it is difficult to get ''convergence'', that
is being able to merge outstanding branches into a release.

I have been fairly impressed with the talk about SVK:

  http://SVK.Elixus.org/

at the June GLLUG, and the speaker's notes are here:

  http://openSource.Fotango.com/~clkao/svk-intro/

I know people who are somewhat happy with Arch style VCSes, even
if they tend to be a bit slow and still buggy.

rw> Which leaves me with a problem: how to move a CVS repository
rw> and a collection of working directories into a new VCS.
rw> Anyone done this?

There have been large migrations to various VCSes recently, like
KDE to Subversion, and so on, and it is possible to preserve
_some_ of the version/branching history in the older repository.

It is not totally transparent, and migrating working directories
is a challenge :-).

Often it is possible just to do a clean break, with importing
the current ''release'' version of the older repository as the
base for the new repository. It is often somewhat pointless to
preserve the history in the older repository.

-- 
Gllug mailing list  -  Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug




More information about the GLLUG mailing list