I assume that you this setup:

 

An old cvs repository: /srv/cvs

The old cvs repository has these projects: projectA, projectB, projectC

A new svn repository: /srv/svn/repos/newrepoA

A temporary directory to save dumpfiles: /srv/svndump

That you are in the /srv/svndump directory

 

cvs2svn Tip Sheet:

 

 

Q) Import a new single projectA into a newrepA, but you want to create the following structure:

trunk / projectA

tags / projectA

branches / projectA

 

A) First create the new projectA . Then you need to define the trunk, tags, and branches

directories when creating the dump file:

  1. svnadmin create devutils
  2. cvs2svn --trunk=trunk/projectA --branches=branches/projectA --tags=tags/projectA --dump-only ../cvs/projectA
  3. svnadmin load /srv/svn/repos/newrepoA < cvs2svn-dump

 

Q) Import an old projectC from cvs into an existing svn newrepoA with this structure:

trunk / projectA

projectB

tags / projectA

projectB

branches / projectA

projectB

 

A) You can import just the main revision history for trunk of projectC like this:

  1. cvs2svn --trunk=projectC --trunk-only --dump-only ../cvs/projectC
  2. 2) svnadmin --parent-dir trunk load /srv/svn/repos/newrepoA < cvs2svn-dump