RFC: migrating to git
Simon Marlow
marlowsd at gmail.com
Mon Jan 10 12:19:23 CET 2011
It's time to consider again whether we should migrate GHC development
from darcs to (probably) git.
From our perspective at GHC HQ, the biggest problem that we would hope
to solve by switching is that darcs makes branching and merging very
difficult for us. We have a few branches of HEAD that are very painful
to keep merged with HEAD, and we would almost certainly have more
branches if the overhead were lower. In some sense the overhead is
self-inflicted because we have the no-conflict policy in the mainline
repository, but that is to avoid problems with darcs' merging algorithms
(both performance and correctness). We are still using darcs v1 patches
rather than v2, but there are known problems with v2 which are
preventing us from upgrading.
The darcs team have been making great strides with performance, but
conflict handling remains a serious problem. The darcs roadmap doesn't
show this being fixed in the near future
http://wiki.darcs.net/Roadmap
Rebase support is coming, and it does work, though the workflow is a bit
laborious.
Besides the branching/merging/conflict issue, switching to git would
give us plenty of side benefits, notably via access to a wealth of tool
support. Making contribution easy is important to us too, and there are
a lot of people using git.
The cost of switching is quite high, which is one reason we decided to
stay with darcs last time. We have multiple repos that need to be
converted, and for some of them, where the repo is being shared with
other projects, we may have to mirror rather than convert in place.
We're prepared to put in the effort if the gains would be worthwhile
though (offers of help are more than welcome!).
We're intrested in opinions from both active and potential GHC
developers/contributors. Let us know what you think - would this make
life harder or easier for you? Would it make you less likely or more
likely to contribute?
Cheers,
Simon
More information about the Glasgow-haskell-users
mailing list