| .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 |