This repository holds scripts and data related to migrating GMOD source code repositories from Sourceforge to GitHub.
Inspects the current author log, the svn history, and account information from SourceForge and GitHub to update the author list.
Shell script that rsyncs the whole GMOD svn repo to svn_mirror/ in the current dir, for use by migration scripts.
The process to convert a repo from SourceForge's SVN to git on GitHub goes roughly as:
mkdir gmod_git; cd gmod_git; git clone email@example.com:GMOD/gmod_svn_migration.git
Use rsync to fetch a mirror of the entire GMOD svn (about 1.6 GB on disk, but transfer is compressed):
cd gmod_svn_migration; ./update_svn_mirror.sh
authors.txt file just gives the mapping of SourceForge user names to full names and emails, since the git commit history keeps that information.
Run the updater:
And then look over the authors.txt file manually to make sure the updater made good choices for names and emails. Make any necessary manual corrections. Use
git diff and
git commit to check and commit any changes.
Use svn2git, available at http://github.com/nirvdrum/svn2git or via
gem install svn2git --source http://gemcutter.org, along with the local SVN mirror and the
authors.txt file to convert a GMOD project's svn repo to git.
Make a directory for the project you are converting, make sure it is not under the
gmod_svn_migration/ directory. We'll use GBrowse as an example here.
cd .. mkdir Generic-Genome-Browser svn2git --authors /home/rob/gmod_git/gmod_svn_migration/authors.txt \ file:///home/rob/gmod_git/gmod_svn_migration/svn_mirror/Generic-Genome-Browser
After the conversion runs, if all goes well, you should now have a full git repository in that directory for the project in question. Examine it in the usual
git log --stat git status # etcetera ...