CVS->SVN

4 views
Skip to first unread message

Joakim Simonsson

unread,
Nov 14, 2006, 11:04:10 AM11/14/06
to osg-crew

To migrate a CVS repository to a SVN is a really simple task. I
migrated a huge CVS repo to SVN a couple of years ago.

I used the python script located at http://cvs2svn.tigris.org/. It
checksout each single revision from CVS an commit them one by one into
the SVN repo. It preserves dates, tags, authors, etc.

One issue of the CVS->SVN conversion could be if you (Robert) have made
custom cvs scripts that you use for different tasks. But the svn syntax
is very similar to cvs', so maybe only small modifications are
necessary.

robert....@gmail.com

unread,
Nov 14, 2006, 11:08:45 AM11/14/06
to osg-crew
Hi Joakim,


On Nov 14, 4:04 pm, "Joakim Simonsson" <joa...@joakims.com> wrote:
> To migrate a CVS repository to a SVN is a really simple task. I
> migrated a huge CVS repo to SVN a couple of years ago.
>

> I used the python script located athttp://cvs2svn.tigris.org/. It


> checksout each single revision from CVS an commit them one by one into
> the SVN repo. It preserves dates, tags, authors, etc.

Thanks this is very useful.

> One issue of the CVS->SVN conversion could be if you (Robert) have made
> custom cvs scripts that you use for different tasks. But the svn syntax
> is very similar to cvs', so maybe only small modifications are
> necessary.

No I don't have any scripts. I don't think Don uses any either.

Did you come across issues with file types such as .dsp file endings,
image files etc?

Any other gotcha?

Robert.

Paul Martz

unread,
Nov 14, 2006, 11:28:43 AM11/14/06
to osg-...@googlegroups.com
If I remember correctly, this article discusses issues with converting a CVS
repository to Subversion.

http://www.ddj.com/showArticle.jhtml;jsessionid=V0QIDST0QIFW2QSNDLPCKHSCJUNN
2JVN?articleID=184405776

-Paul

Jose L. Hidalgo

unread,
Nov 14, 2006, 11:43:21 AM11/14/06
to osg-crew
I've also tested cvs2svn and works really nice. First you need a fresh
svn repository and cvs2svn simulates submissions from the cvs
repository, it is pretty easy to try and do not require any special
skills. Probably it won't work well with deletes along time ( cvs
losses history of deleted files, svn not) and I don't know also how
well works with branches and tags... (Does osg have any tags or
branches?)

Jose L.

On Nov 14, 5:08 pm, robert.osfi...@gmail.com wrote:
> Hi Joakim,
>
> On Nov 14, 4:04 pm, "Joakim Simonsson" <joa...@joakims.com> wrote:
>
> > To migrate a CVS repository to a SVN is a really simple task. I
> > migrated a huge CVS repo to SVN a couple of years ago.
>
> > I used the python script located athttp://cvs2svn.tigris.org/. It
> > checksout each single revision from CVS an commit them one by one into

> > the SVN repo. It preserves dates, tags, authors, etc.Thanks this is very useful.


>
> > One issue of the CVS->SVN conversion could be if you (Robert) have made
> > custom cvs scripts that you use for different tasks. But the svn syntax
> > is very similar to cvs', so maybe only small modifications are

> > necessary.No I don't have any scripts. I don't think Don uses any either.

Joakim Simonsson

unread,
Nov 14, 2006, 11:49:31 AM11/14/06
to osg-...@googlegroups.com

No, no problems with dsp files endings that I am aware of.

Binary files, images etc, are much better handled in svn as it uses a
binary diff algorithm. It is only the modifications that are sent over
network between revisions. This is true for both commiting and updating.
The bandwidth, the server, and the server space like this very much :)

> Any other gotcha?

Well, decide a good svn repo hierarchy.

There are two typical structures of a svn repo. If we merge OpenThreads,
Producer and OpenSceneGraph into the same repository it could look like
this:


/trunk/OpenSceneGraph
/trunk/OpenThreads
/trunk/Producer
/tags/v2.0.0/OpenSceneGraph
/tags/v2.0.0/OpenThreads
/tags/v2.0.0/Producer
/branches/2.0/OpenSceneGraph
/branches/2.0/OpenThreads
/branches/2.0/Producer

Or it could look like this:

/OpenSceneGraph/trunk
/OpenSceneGraph/tags
/OpenSceneGraph/branches
/OpenThreads/trunk
/OpenThreads/tags
/OpenThreads/branches
/Producer/trunk
/Producer/tags
/Producer/branches

The first approach has the advantage of when tagging something, you
automatically get all three projects tagged.

The other approach is good if you want the projects to be more independent.

The best way to figure ouy the best repo-hierarchy is to do a test
conversion and do some test-checkins, test-tags, and test-branches.

The svn-book: http://svnbook.red-bean.com/

--
Joakim Simonsson

Joakim Simonsson

unread,
Nov 14, 2006, 11:52:21 AM11/14/06
to osg-...@googlegroups.com
On Tue, 14 Nov 2006 17:43:21 +0100, Jose L. Hidalgo
<joseLuis...@gmail.com> wrote:

>
> I've also tested cvs2svn and works really nice. First you need a fresh
> svn repository and cvs2svn simulates submissions from the cvs
> repository, it is pretty easy to try and do not require any special
> skills. Probably it won't work well with deletes along time ( cvs
> losses history of deleted files, svn not) and I don't know also how
> well works with branches and tags... (Does osg have any tags or
> branches?)

Osg has tags, and the cvs2svn should handle these.


--
Joakim Simonsson

Robert Osfield

unread,
Nov 14, 2006, 12:07:28 PM11/14/06
to osg-...@googlegroups.com
Hi Jose,


On 11/14/06, Jose L. Hidalgo <joseLuis...@gmail.com> wrote:
I've also tested cvs2svn and works really nice. First you need a fresh
svn repository  and cvs2svn simulates submissions from the cvs
repository, it is pretty easy to try and do not require any special
skills. Probably it won't work well with deletes along time ( cvs
losses history of deleted files, svn not) and I don't know also how
well works  with branches and tags... (Does osg have any tags or
branches?)

OSG has plenty of tags, mainly associated with releases and release candidates.  I have dabbled with branches, but basically its been the main trunk all the way through development so no problems there.

Robert.

Robert Osfield

unread,
Nov 14, 2006, 3:46:09 PM11/14/06
to osg-...@googlegroups.com
Hi Guys,

Is it possible to extract portions of cvs repository to build the new svn one from?

I am think about the possibility of having to moving osgProducer and associated examples into a seperate svn respository.  The code itself wouldn't change, just makefiles and projects files.  The history would be a useful thing to carry across in this move.

Perhaps such a split of a project would be best done once in SVN, as SVN copes better with directory changes than CVS does.

Thoughts?

Robert.


Rainer Oder

unread,
Nov 14, 2006, 7:39:03 PM11/14/06
to osg-...@googlegroups.com
Hi all,

since I know how Robert used CVS I'm sure SVN will not be any problem. I use SVN, too, and it is great, so migrating to svn is really recommended.

Cheers,
Rainer
--
Cheers,
Rainer

Joakim Simonsson

unread,
Nov 14, 2006, 8:08:16 PM11/14/06
to osg-...@googlegroups.com
On Tue, 14 Nov 2006 21:46:09 +0100, Robert Osfield
<robert....@gmail.com> wrote:

> Hi Guys,
>
> Is it possible to extract portions of cvs repository to build the new svn
> one from?

Yes. Read: http://cvs2svn.tigris.org/cvs2svn.html "One project at a time".

> I am think about the possibility of having to moving osgProducer and
> associated examples into a seperate svn respository. The code itself
> wouldn't change, just makefiles and projects files. The history would
> be a
> useful thing to carry across in this move.
>
> Perhaps such a split of a project would be best done once in SVN, as SVN
> copes better with directory changes than CVS does.

I agree.


--
Joakim Simonsson

Chris Hanson

unread,
Nov 17, 2006, 12:36:49 PM11/17/06
to osg-crew
For what it's worth, the WorldWind project uses SVN, and seems to have
very good luck with it. I see no reason not to move to SVN once the
particular of the hosting are determined.

Robert Osfield

unread,
Nov 17, 2006, 3:00:22 PM11/17/06
to osg-...@googlegroups.com
HI Chris,

Jose has successfully imported OpenThreads, Producer and
OpenSceneGraph on to the temporary sit he's set up for us on his DH
account. The other options on the server front both support SVN too.

I haven't had a chance to to compile off them yet, but so far
everything looks to have imported. 'll play with it more at the
weekend.

Robert.

Reply all
Reply to author
Forward
0 new messages