Oliver Beckstein edited this page Sep 26, 2015 · 5 revisions

As described in Issue 86, we wanted to upgrade our source code management system from subversion to git. The upgrade took place on 2011-11-28 and this page describes what was done.

orbeckst basically followed the Convert your project from Subversion to Git instructions with some additional steps described below.

The standard git instructions including the link to the username/password (for committers) is on the Source: Checkout instructions page. I set up the appropriate .netrc file so that git handles the authentication automatically:

machine login password GOOGLECODE-PASSWORD

with the [generated password.

A list of username/author mappings (AUTHORS.txt) was taken from our previous git-svn instructions.


Converting the wiki was straightforward:

git svn clone -A AUTHORS.txt
git remote add googlecode
git push --all googlecode


The trunk was converted with the same procedure:

git svn clone -A AUTHORS.txt --stdlayout --username orbeckst mdanalysis
cd mdanalysis
git remote add googlecode
git gc    # optional garbage collection and compaction of repo
git push --all googlecode

The svn tags were converted to real git tags with the snippet provided by Azatoth's comment at convert git-svn tag branches to real tags:

git for-each-ref refs/remotes/tags --shell --format="r=%(refname:short) t=\${r#tags/}" | while read e; do 
   eval "$e"; 
   git tag -f $t refs/remotes/$r; 
   git branch -d -r $r; 

and then pushed

git push --tags googlecode

The procedure did not create the branches of the subversion repository in the new git repository. The following is probably not the most elegant/canonical way to do this but it seems to work (feel free to comment below). First list all remote branches:

git branch -r

We really only need the ''MDAnalysisTestData'' (see Issue 87) so we check out that branch and then push it:

git checkout -b MDAnalysisTestData MDAnalysisTestData
git push MDAnalysisTestData
git checkout master

(If any of the other branches should ever be needed then they can be accessed through the old svn repository, which will be kept.)


The whole procedure appears to be successful

  • I can clone the whole repository.
git clone

and switch to the test data branch:

git checkout -b MDAnalysisTestData origin/MDAnalysisTestData

and back to the master

git checkout master


If any serious issues appear, open an issue on the tracker.

  • The source code browser does not show log history for many files.

Project Information

GNU GPL v2 code license
Labels: python, molecular dynamics, analysis, DCD, CHARMM, LAMMPS, NAMD, Gromacs, computer simulation, atoms, coordinates, trajectory, XTC, Library, object-oriented
Core Developers


Release Notes
Guide for Developers
Google Summer of Code

Code of Conduct


@mdanalysis on Twitter
Downloads (PyPi)
Mailing Lists:
User discussion group
Developer mailing list

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.