Version control systems
nr at eecs.harvard.edu
Sat Aug 9 18:56:23 EDT 2008
As a very part-time, temporarily inactive GHC developer I will offer
some opinions which should carry no weight:
* When I saw the announcement, I cheered! Last fall, I lost 2 weeks
of a 9-week visit to darcs hell. While the alleged features may
be alluring, the software simply doesn't do what it says on the
box. The highly touted 'theory of patches' is not published
anywhere in any form that can be understood and checked by anyone
with a little bit of mathematics (e.g., group theory or algebra).
All these truths make me eager to be rid of darcs.
* It seems clear that git offers a richer user interface than darcs
and that the UI is harder to master. Moreover, because everyone I
have talked to finds the git documentation less than completely
helpful, git is probably harder to learn than darcs. Git's
advantages are that it is robust, fast, and popular.
* A number of people I trust and respect have urged me to adopt git.
Since 2005, nobody has urged me to adopt darcs. A number of
people I trust and respect have said they wished to abandon darcs.
Nobody has suggested abandoning git.
* I violently agree with whomever (Don? Malcolm?) said that the
Haskell community will prosper to the degree that we have *one*
build system and *one* version-control system. And when the build
system or version-control system is standard, we gain eyeballs and
developers. I haven't found a standard build system that I am
willing to use, but I think git is good enough to be used.
* Our long-term goal should be to get the *entire* Haskell
development community to agree on a version-control system---one
that is not darcs. We should expect this process to take several
years, and we should expect it to cost money. Would Microsoft or
Galois or York or other large players be willing to donate part of
an expert's time to migrate to the new version-control system?
I'm no particular fan of git. But in a worse-is-better sort of way, I
think it's in---it will fill the niche of free, distributed version
control. It would be good to identify a way of helping to smooth the
path not only for GHC and *all* the libraries but for Hugs, York,
Norman, whose most popular open-source software still lives under RCS!
More information about the Glasgow-haskell-users