
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@acc.umu.se