Version control systems

Manuel M T Chakravarty chak at cse.unsw.edu.au
Sat Aug 9 01:46:50 EDT 2008


Ian Lynagh:
> On Fri, Aug 08, 2008 at 12:04:15PM +1000, Manuel M T Chakravarty  
> wrote:
>>
>> I seriously hope the plan is to move all *core* libraries (including
>> GHC's cabal repo) etc over to git, too.  In other word, everything
>> that you need to build the development version of GHC should come via
>> git.  Having a mix of VCSs would be the worst option of all.
>
> No, the plan is to move only the GHC and testsuite repos to git, as  
> the
> others are also used by hugs, nhc98, etc.
>
> It would be possible to move GHC's Cabal repo over too, as that is
> private to GHC, but given the other libraries will be using darcs  
> anyway
> I think it is simpler to keep all darcs repos using the same VCS.

I think all *core* libraries must switch.  Seriously, requiring GHC  
developer to use a mix of two vcs during development is a Very Bad  
Idea.  Don was excited about getting more people to look at the source  
when it is in git (see the comments he posted from reddit).  By  
requiring two vcs you will get *less* people to look at the source.

This is not only to get the sources to hack them, but you effectively  
require developers to learn the commands for two vcs (when they are  
already reluctant to learn one).  For example, often enough somebody  
who changes something in GHC will modify the base package, too.  Then,  
to commit the overall work, you need to commit using both vcs.  If you  
need to branch for your work, you need to create branches in two vcs  
(no idea whether the semantics of a branch in git and darcs is  
anywhere similar).  When you merge your branch, you need to merge in  
both vcs.  You can't seriously propose such a set up!

Duncan wrote,
> If there's some way of having automated git mirrors of the upstream
> darcs repos then that's might be convenient for people building ghc.
> Asking the maintainers of all other libs to switch is a bit much
> though.

I am not talking about all libs, I am talking about the core libs.   
Most developers of the core libs are also GHC developers.  So, you ask  
them to change already by changing the vcs of GHC.  Asking them to  
work with two vcs at the same time is worse IMHO.

I *strongly* object to moving to git before this isn't sorted out.  As  
Roman said before, GHC is heading into a dangerous direction.  It gets  
progressively harder to contribute to the project at the moment.   
First, changing the build system to Cabal.  Now, proposing to use two  
vcs.  Somebody who is new to the project not only has to learn the  
internals of GHC, but they also have to learn two new vcs, and if they  
need to change the build system, they need to learn a new build tool.   
Raising the bar for developers to contribute to a project has been  
proven to be a very bad idea many times.  Let's not take GHC down that  
path.

Manuel
  


More information about the Glasgow-haskell-users mailing list