At OSDN, we support data migration between different code management systems.
There is no automatic migration via web. Project manager must login to make support request, and will be asked to enter the project name and necessary information. OSDN staff will respond upon receiving the request.
In the support request, enter the name of the project you want to migrate. OSDN staff will convert it on the server side. But there are situations where it can not be converted due to how CVS is being used by the project.
The lay out of the converted Subversion repository will look something like below.
/svnroot/yourproject /svnroot/yourproject/yourmodule1 /svnroot/yourproject/yourmodule1/branches /svnroot/yourproject/yourmodule1/tags /svnroot/yourproject/yourmodule1/trunk /svnroot/yourproject/yourmodule2 /svnroot/yourproject/yourmodule2/branches /svnroot/yourproject/yourmodule2/tags /svnroot/yourproject/yourmodule2/trunk
If you wish to employ a different form of conversion, read “FAQ on CVS#Q: Is there a way to make a local back up of the entire CVS repository?” and follow the instructions to get the whole repository by rsync, and then create a dump file for Subversion.
You may also want to read “How to use Subversion”.
First, let's create a Git repository on OSDN side. From project “Admin” menu, choose “Select Features”. Then click on “Git” to put a check mark and click on the “Update” button to enable the Git feature. Once it's enabled, from the source code menu, choose “Git Admins” to go to it's page.
Fill in the blanks for repository name and description, then click on the “Create new Git repository” button to create. (The instructions below use “test1” as the repository name.)
It will take a few minutes for the repository ready to be used, so let's move on to the next process.
Let's copy the contents of the Subversion repository and make a Git working repository. First, you'll create a working directory and then add changes to the current directory.
mkdir -p ~/work/GIT cd ~/work/GIT
Use git svn command like the one below to execute. (In place of username/projectname, imagine having your user name and project name there.)
git svn clone -s svn+ssh://email@example.com/svnroot/projectname/
You will have your Git repository created in “projectname”. If the structure doesn't follow the general style of having trunk, branches, tags right under the URL of Subversion repository, then take off -s (and if necessary, assign the place, for example “tag”, for option.)
Next, cd to the repository which has just been cloned, and register the Git repository created on OSDN as the origin.
cd projectname git remote add origin firstname.lastname@example.org:/gitroot/projectname/test1.git
To reflect what was copied on the working directory to OSDN repository, let's go through the process of pushing. For all contents including tags and branches to be included, we'll be using the --mirror option.
git push --mirror origin master
You can use svnsync for copying repository to subversion server on OSDN.net, please try it.
You can use svnsync for copying repository to subversion server on OSDN.net.
When the origin repository is huge or network is unstable, svnsync may be fail with timeout. If you can not clear the problem, please contact us via support request ticket likes bellow:
We will restore the dump file to target repository within a few weekdays. Please note that the contents of the repository will be reset before restoreing. All commits before restoreing will be deleted.
If you are trying to execute a migration that doesn't go through with git push, consult us via ticket.