.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 .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 p Ar n Start the program at pass .Ar n , which may range from 1 (the default) to 4. 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.* .Sh LIMITATIONS .Nm currently does not handle tags or branches. .Sh SEE ALSO .Xr cvs 1 , .Xr svn 1 , .Xr svnadmin 1