.Dd January 12, 2003 .Os Subversion .Dt CVS2SVN 1 "User Commands" .Sh NAME .Nm cvs2svn .Nd convert a cvs repository into a subversion repository .Sh SYNOPSIS .Nm .Op Fl nv .Op Fl s Ar svn-repos-path .Op Fl p Ar pass .Op Fl -create .Op Fl -trunk Ns = Ns Ar path .Op Fl -branches Ns = Ns Ar path .Op Fl -tags Ns = Ns Ar path .Op Fl -dumpfile Ar name .Op Fl -encoding Ar encoding .Op Fl -svnadmin Ar path .Op Fl -username Ar name .Ar cvs-repos-path .Sh DESCRIPTION .Nm can be used to create a new Subversion repository based on the version history stored in a CVS repository. Each CVS commit will be mirrored in the subversion repository, including such information as date of commit and id of the committer. .Pp .Ar cvs-repos-path is a project's toplevel directory inside your CVS repository, everything below it will be mirrored. You can give a CVS repository's root path, then all contained projects as well as the administrative directory .Pa CVSROOT will be converted over, which may not be what you want. .Bl -tag .It Fl n Dry run do not actually commit anything. .It Fl v Verbose, print more information while running. .It Fl s Ar svn-repos-path Use/create the Subversion repository at .Pa svn-repos-path instead of .Pa svnroot . .It Fl -create Create a new repository. .It Fl -trunk Ns = Ns Ar path Put the trunk (main branch) into the subdirectory .Pa path of the Subversion repository. .It Fl -branches Ns = Ns Ar path Put branch copies under the subdirectory .Ar path of the Subversion repository. (But see .Sx LIMITATIONS . ) .It Fl -tags Ns = Ns Ar path Put tag copies under the subdirectory .Ar path of the Subversion repository. (But see .Sx LIMITATIONS . ) .It Fl -dumpfile Ar name Set the .Ar name of the dumpfile. The default is .Pa cvs2svn-dump in the current directory. .It Fl -encoding Ar encoding Set the .Ar encoding of the CVS archive. .It Fl -svnadmin Ar path Path to the the .Ar svnadmin program. .It Fl -username Ar name Set the default username to .Ar name when cvs2svn.py doesn't have a username from the CVS repository to work with. This happens when a branch or tag is created. The default name is "unknown". .It Fl p Ar n Start the program at pass .Ar n , which may range from 1 (the default) to 5. For this to work the earlier passes must have been completed before on the same CVS repository, and the generated data files must be in the current directory. .El .Sh FILES The current directory is used as scratch space for data files of the form .Pa cvs2svn-data.* and a dumpfile named .Pa cvs2svn-dump .Sh LIMITATIONS .Nm currently does not handle tags or branches. .Sh SEE ALSO .Xr cvs 1 , .Xr svn 1 , .Xr svnadmin 1