On Mon, Jan 10, 2011 at 11:19:23AM +0000, Simon Marlow wrote:
> It's time to consider again whether we should migrate GHC development
> from darcs to (probably) git.
The Boost project has been having similar discussions about when, how
and if to migrate to Git, together with discussions on whether to
modularize the project.
During the massive thread (many times the size of this bikeshed thread),
an interesting link was posted with a Post Mortem of how the PostgreSQL
project migrated from CVS to GHC.
http://lwn.net/Articles/409635/
Some key points noted there is that it took several false starts over
a period of several years to migrate properly, with everything from
corrupted/lost history, and that it's much more bothersome to adjust
tools and process to fit the different working model.
Key learnings (from the end of the article, reproduced for visibility):
* Start with a Git mirror.
* Designate a specific "Git migration team". Make sure they have lots of
free time.
* Your first attempt to migrate will probably fail, so you need to be
prepared for more than one.
* Changing your infrastructure, workflow, and build tool dependencies
is harder than the repository conversion.
* Make friends with the conversion tool authors.
* Write lots of docs about the new tools and workflow.
* The more history you have on your current system, the more work
conversion is going to be.
* Things which are broken in your current history are not going to fix
themselves when you migrate.
* When testing the conversion, make sure to look at more than HEAD and
branch-tips.
--
Lars Viklund | zao at acc.umu.se