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