GitHub.com’s “Organizations” is a great tool for distributed bioinformatics teams. Here’s how I migrated some of our repositories from Mercurial to Git to take advantage of this feature
After much evangelizing, weeping, and wailing, I finally convinced everyone at one highly geographically and functionally distributed projects that we should at least try consolidating our code in one place.
Currently we have old legacy repositories in CVS, mid-range projects in SVN, new development in Git and Mercurial, and AFAIK a bunch of code in no SCM system at all.
Given that DVCS doesn’t have the directory level granularity of SVN, we definitely don’t want to consolidate everything in a single repository. So far, it seems that GitHub offers the best solution with its “Organizations” feature. This lets a team group multiple repositories under a single umbrella with a shared news feed and administration. Perfect.
hg-git looks like a useful tool if you want to maintain code in both git and mercurial. I don’t. Here’s how I handled a full-scale migration of our repositories:
todd> cd ~/projects todd> git clone http://repo.or.cz/r/fast-export.git todd> mkdir new_git_repository ; cd new_git_repository todd> git init todd> ../fast-export/hg-fast-export.sh -r ~/projects/old_hg_repository todd> git checkout HEAD todd> git remote add origin email@example.com:[organization]/[reponame].git todd> git push origin master
Bing! And you’re done. Or whatever.