Version control systems

Manuel M T Chakravarty chak at cse.unsw.edu.au
Wed Aug 13 02:54:32 EDT 2008


Simon Peyton-Jones:
> 2.  The version control system (VCS)
>
> GHC needs "core libraries" without which it cannot be built.  It is
> obviously highly desirable that a developer can build GHC with just
> one VCS, which suggests that the core libraries should be in git too.
> But those same core libraries are used by nhc98 and Hugs (I think
> that's all), and the last thing we want to do is to impose new costs
> on other implementations.

What are these costs?  I don't believe there are serious costs for  
those developers.  Malcolm told us that all he contributes to the core  
libraries is fixing them for nhc when they break.  He doesn't even  
validate, so I am sure he doesn't use branches or anything similar.   
The cost for him is to learn how to get, record & push with git.

AFAIK, the only person who works on Hugs is Ross.  He contributes to  
GHC, too, and hopefully validates his library patches before pushing.   
So, he'll have to learn to use git anyway.

> It's unclear exactly what to do about this.  The most plausible
> possibility is to keep the core libraries that are shared with other
> implementations in darcs as now, and mirror them in git for GHC
> developers.  That will impose pain on GHC developers to keep the git
> stuff in sync with the darcs master copies; but at least other
> developers would be unaffected.

Everybody who contributes to the boot/core libraries needs to validate  
their patches.  If the GHC version of the libraries is in git, then  
all library code needs to be validated against the git version of the  
libraries before it can enter the master repository.  I don't see how  
that makes anything easier for anybody.

As I said before, I believe there is exactly one sane solution: all  
boot libraries use the same vcs as ghc.

Manuel



More information about the Glasgow-haskell-users mailing list