Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Scripts and data used to migrate GMOD projects from svn on SourceForge to git on GitHub
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore
README.pod
authors.txt
migrate_project.pl
update_authors_file.pl
update_svn_mirror.sh

README.pod

GMOD Sourceforge-to-Github Repository Migration

This repository holds scripts and data related to migrating GMOD source code repositories from Sourceforge to GitHub.

Files in this repository

make_authors_file.pl

Inspects the current author log, the svn history, and account information from SourceForge and GitHub to update the author list.

update_svn_mirror.sh

Shell script that rsyncs the whole GMOD svn repo to svn_mirror/ in the current dir, for use by migration scripts.

Conversion Process

The process to convert a repo from SourceForge's SVN to git on GitHub goes roughly as:

Set up a work directory for converting

  mkdir gmod_git;
  cd gmod_git;
  git clone git@github.com:GMOD/gmod_svn_migration.git

Update your local mirror of the GMOD svn

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

Optionally update the authors.txt file

The 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:

  ./update_authors_file.pl

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.

Convert a repository using svn2git

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

  git log --stat
  git status
  # etcetera ...
Something went wrong with that request. Please try again.