Version control systems

Norman Ramsey 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,
xmonad, everybody.


Norman, whose most popular open-source software still lives under RCS!


More information about the Glasgow-haskell-users mailing list