RFC: migrating to git

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
90 messages Options
12345
Reply | Threaded
Open this post in threaded view
|

RFC: migrating to git

Simon Marlow-7
It's time to consider again whether we should migrate GHC development
from darcs to (probably) git.

 From our perspective at GHC HQ, the biggest problem that we would hope
to solve by switching is that darcs makes branching and merging very
difficult for us.  We have a few branches of HEAD that are very painful
to keep merged with HEAD, and we would almost certainly have more
branches if the overhead were lower.  In some sense the overhead is
self-inflicted because we have the no-conflict policy in the mainline
repository, but that is to avoid problems with darcs' merging algorithms
(both performance and correctness).  We are still using darcs v1 patches
rather than v2, but there are known problems with v2 which are
preventing us from upgrading.

The darcs team have been making great strides with performance, but
conflict handling remains a serious problem.  The darcs roadmap doesn't
show this being fixed in the near future

   http://wiki.darcs.net/Roadmap

Rebase support is coming, and it does work, though the workflow is a bit
laborious.

Besides the branching/merging/conflict issue, switching to git would
give us plenty of side benefits, notably via access to a wealth of tool
support.  Making contribution easy is important to us too, and there are
a lot of people using git.

The cost of switching is quite high, which is one reason we decided to
stay with darcs last time.  We have multiple repos that need to be
converted, and for some of them, where the repo is being shared with
other projects, we may have to mirror rather than convert in place.
We're prepared to put in the effort if the gains would be worthwhile
though (offers of help are more than welcome!).


We're intrested in opinions from both active and potential GHC
developers/contributors.  Let us know what you think - would this make
life harder or easier for you?  Would it make you less likely or more
likely to contribute?

Cheers,
        Simon

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: RFC: migrating to git

Max Bolingbroke-2
On 10 January 2011 11:19, Simon Marlow <[hidden email]> wrote:
> Let us know what you think - would this make life
> harder or easier for you?  Would it make you less likely or more likely to
> contribute?

Well, as a sometime-contributor I would certainly be happier hacking
on GHC if it were git based. When working on a GHC branch, it is
rather irritating to spend time work around the inevitable Darcs bugs
rather than hacking on the code.

However, I remember the last time this came up there were some issues
that might make migration painful. From the top of my head:

1) Some people expressed concern that they would have to use two
revision control systems to work on GHC, because not all GHC
dependencies would be git-based.

2) There was also concern that Git isn't so great on Windows. I have
heard that this is less of an issue now, but I never personally
suffered from any problems, so can't be sure. (FWIW I used Git on
Windows industrially ~1 year ago for 3 months and didn't have
problems, though the people around me occasionally had issues with
e.g. case insensitivity causing obscure error messages).

3) The git transition has the potential to make Ian's workflow (i.e.
maintaining branches for old GHC releases) harder.

AFAIK currently Ian just "darcs pulls" a particular patch from GHC
HEAD into e.g. the GHC 7 branch. Darcs automatically works out which
of the earlier patches are dependent on that patch and deals with
pulling them in as well (if they are not already present).

If GHC HQ transitioned to Git but committed all patches to master then
Ian's job might be significantly harder because he would have to use
"git cherry-pick" to pick out any bug fix patches that should be
merged back to e.g. GHC 7. Unfortunately, Git does not provide any
mechanism for automatically working out which earlier patches commits
on the cherry-picked commit, so this will fail quite often. Ian will
then have to manually identify the dependents.

To make Ian's life easier GHC HQ could adopt a new workflow. For
example, bug fixers could fix their bugs on *new* branches (one peg
bug) which start from the last major GHC release (right now, GHC 7).
After fixing the bug on that branch, they can then merge the branch
into master. Now when Ian merges a bugfix to a GHC 7 patchlevel
release he just needs to merge that bug fixing branch into the ongoing
GHC 7 branch.

Naturally other workflows are possible and I'm sure other list members
will chime in with their own favourites :-)

Has GHC HQ thought about these workflow issues? Are you happy with any
changes that might be required to your workflows?

Ultimately I'm quite concerned with keeping GHC HQ happy (as you guys
do the lions share of the work!). I feel we should only make the
switch if the most frequent committers (i.e. Simon, Simon and Ian) are
*totally happy* with it and any associated workflow changes that may
be required.

Cheers,
Max

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: RFC: migrating to git

Simon Marlow-7
On 10/01/2011 13:02, Max Bolingbroke wrote:

> On 10 January 2011 11:19, Simon Marlow<[hidden email]>  wrote:
>> Let us know what you think - would this make life
>> harder or easier for you?  Would it make you less likely or more likely to
>> contribute?
>
> Well, as a sometime-contributor I would certainly be happier hacking
> on GHC if it were git based. When working on a GHC branch, it is
> rather irritating to spend time work around the inevitable Darcs bugs
> rather than hacking on the code.
>
> However, I remember the last time this came up there were some issues
> that might make migration painful. From the top of my head:
>
> 1) Some people expressed concern that they would have to use two
> revision control systems to work on GHC, because not all GHC
> dependencies would be git-based.

It would be a prerequisite to switching that a GHC developer only has to
use one VCS.  So we either migrate dependencies to git, or mirror them
in GHC-specific git branches.

> 2) There was also concern that Git isn't so great on Windows. I have
> heard that this is less of an issue now, but I never personally
> suffered from any problems, so can't be sure. (FWIW I used Git on
> Windows industrially ~1 year ago for 3 months and didn't have
> problems, though the people around me occasionally had issues with
> e.g. case insensitivity causing obscure error messages).

Again, it would be a prerequisite that all our workflows work on Windows
too.  We'd have to do some research to check for problems.

> 3) The git transition has the potential to make Ian's workflow (i.e.
> maintaining branches for old GHC releases) harder.
>
> AFAIK currently Ian just "darcs pulls" a particular patch from GHC
> HEAD into e.g. the GHC 7 branch. Darcs automatically works out which
> of the earlier patches are dependent on that patch and deals with
> pulling them in as well (if they are not already present).
>
> If GHC HQ transitioned to Git but committed all patches to master then
> Ian's job might be significantly harder because he would have to use
> "git cherry-pick" to pick out any bug fix patches that should be
> merged back to e.g. GHC 7. Unfortunately, Git does not provide any
> mechanism for automatically working out which earlier patches commits
> on the cherry-picked commit, so this will fail quite often. Ian will
> then have to manually identify the dependents.
>
> To make Ian's life easier GHC HQ could adopt a new workflow. For
> example, bug fixers could fix their bugs on *new* branches (one peg
> bug) which start from the last major GHC release (right now, GHC 7).
> After fixing the bug on that branch, they can then merge the branch
> into master. Now when Ian merges a bugfix to a GHC 7 patchlevel
> release he just needs to merge that bug fixing branch into the ongoing
> GHC 7 branch.
>
> Naturally other workflows are possible and I'm sure other list members
> will chime in with their own favourites :-)

I don't think the dependencies get very deep in most cases, and my
impression is that we often don't want to pull the dependencies anyway,
so darcs forces us to merge the patch manually (Ian would be able to say
for sure how often this happens).

However, if it turned out that we had to change this workflow it
wouldn't be the end of the world.  Fixing bugs on the stable branch
rather than HEAD would be a slight inconvenience, but is arguably the
right thing anyway.

> Has GHC HQ thought about these workflow issues? Are you happy with any
> changes that might be required to your workflows?
>
> Ultimately I'm quite concerned with keeping GHC HQ happy (as you guys
> do the lions share of the work!). I feel we should only make the
> switch if the most frequent committers (i.e. Simon, Simon and Ian) are
> *totally happy* with it and any associated workflow changes that may
> be required.

Speaking for myself, I tend slightly towards making the switch, becuase
I'm keen to make branching less painful.  However, I think if it were
just the three of us, there probably wouldn't be enough motivation to
overcome the cost of switching, but if there is enough interest from the
rest of the community that might just swing it.

Cheers,
        Simon

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Mercurial? Re: RFC: migrating to git

Pavel Perikov
Please please consider Mercurial if migration from darcs is inevitable :)

P.



_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: RFC: migrating to git

Johan Tibell-2
In reply to this post by Simon Marlow-7
On Mon, Jan 10, 2011 at 12:19 PM, Simon Marlow <[hidden email]> wrote:
> We're intrested in opinions from both active and potential GHC
> developers/contributors.  Let us know what you think - would this make life
> harder or easier for you?  Would it make you less likely or more likely to
> contribute?

I would also be happier hacking on GHC if it was git based. My
experience of integrating the new I/O manager wasn't very pleasant,
due to having to re-record patches and jumping through other hoops. We
also lost all the project history [1]. I also find git's tools for
working with project history (e.g. using the PickAxe feature and
better blame support) better.

Being able to keep a first class copy of the GHC repo on GitHub also
appeals a lot to me. I keep all my personal projects on GitHub and in
my experience it has led to more contributions. While we had a Git
clone of the GHC repo on GitHub in the past, it was a second class
citizen and since you could actually make your changes against that
GitHub repo, I never bothered using it.

Cheers,
Johan

1. While we managed to convert the git commits to Darcs patches, all
the patches needed to be rerecorded as one big patch before
submitting. I'm not entirely certain why, perhaps Simon M could
elaborate.

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: RFC: migrating to git

Johan Tibell-2
In reply to this post by Max Bolingbroke-2
On Mon, Jan 10, 2011 at 2:02 PM, Max Bolingbroke
<[hidden email]> wrote:
> Naturally other workflows are possible and I'm sure other list members
> will chime in with their own favourites :-)

Here's the flow I use:

http://nvie.com/posts/a-successful-git-branching-model/

with the exception of having the master branch be the development
branch, which is what most Git users expect.

> Ultimately I'm quite concerned with keeping GHC HQ happy (as you guys
> do the lions share of the work!). I feel we should only make the
> switch if the most frequent committers (i.e. Simon, Simon and Ian) are
> *totally happy* with it and any associated workflow changes that may
> be required.

I agree with this sentiment. If GHC HQ believes Git will make their
job harder, I'm not in favor of a switch. (From personal experience I
think it will make it easier after an initial short learning curve,
but I cannot know this for certain of course.)

Johan

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: Mercurial? Re: RFC: migrating to git

Johan Tibell-2
In reply to this post by Pavel Perikov
On Mon, Jan 10, 2011 at 2:34 PM, Pavel Perikov <[hidden email]> wrote:
> Please please consider Mercurial if migration from darcs is inevitable :)

While Mercurial is a fine choice, I think there are more Haskellers
that use Git than Mercurial. Probably because GitHub is such an
awesome service.

Johan

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: Mercurial? Re: RFC: migrating to git

Pavel Perikov

On 10.01.2011, at 16:40, Johan Tibell wrote:
> While Mercurial is a fine choice, I think there are more Haskellers
> that use Git than Mercurial. Probably because GitHub is such an
> awesome service.

Interesting. It will be great to see any numbers (really, just curious).

bitbucket seems to be ok too :) For me who got used to darcs Mercurial just seemed so much leaner, simpler etc.. And it presumably have better support on Windows btw (I personally only use Macs though).
_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: RFC: migrating to git

Lars Viklund
In reply to this post by Simon Marlow-7
On Mon, Jan 10, 2011 at 01:27:17PM +0000, Simon Marlow wrote:

> On 10/01/2011 13:02, Max Bolingbroke wrote:
>> 2) There was also concern that Git isn't so great on Windows. I have
>> heard that this is less of an issue now, but I never personally
>> suffered from any problems, so can't be sure. (FWIW I used Git on
>> Windows industrially ~1 year ago for 3 months and didn't have
>> problems, though the people around me occasionally had issues with
>> e.g. case insensitivity causing obscure error messages).
>
> Again, it would be a prerequisite that all our workflows work on Windows  
> too.  We'd have to do some research to check for problems.

The environment provided by msysgit is reasonably usable, and
performance hasn't been much trouble for me personally.

The binaries from it can also be used in syntevo's SmartGit product,
which has a free license for non-commercial purposes, so if the gitk
tools of msysgit are considered inadequate, SmartGit tends to get the
job done.

The only problem I've had with msysgit is that it has its own set of
compilers and msys tools, which might conflict with the existing
toolchains used with GHC, something which I'm unsure if it's solvable as
Git has a horrible tendency to rely on having shell tools to do its ill
deeds.

As for whether to change or not, I'm neutral as I'm not a contributor
nor have any plans to be.

--
Lars Viklund | [hidden email]

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: RFC: migrating to git

Daniel Peebles
In reply to this post by Simon Marlow-7
I fully support this (especially if it lived on github), but we should probably sort the top contributors to GHC in the past year or so and consider their opinions on the matter in that order :) I certainly would not be on that list. A git(hub)-based workflow would however facilitate any minor contributions I might make (and I'd imagine those of many others).

Dan

On Mon, Jan 10, 2011 at 6:19 AM, Simon Marlow <[hidden email]> wrote:
It's time to consider again whether we should migrate GHC development from darcs to (probably) git.

From our perspective at GHC HQ, the biggest problem that we would hope to solve by switching is that darcs makes branching and merging very difficult for us.  We have a few branches of HEAD that are very painful to keep merged with HEAD, and we would almost certainly have more branches if the overhead were lower.  In some sense the overhead is self-inflicted because we have the no-conflict policy in the mainline repository, but that is to avoid problems with darcs' merging algorithms (both performance and correctness).  We are still using darcs v1 patches rather than v2, but there are known problems with v2 which are preventing us from upgrading.

The darcs team have been making great strides with performance, but conflict handling remains a serious problem.  The darcs roadmap doesn't show this being fixed in the near future

 http://wiki.darcs.net/Roadmap

Rebase support is coming, and it does work, though the workflow is a bit laborious.

Besides the branching/merging/conflict issue, switching to git would give us plenty of side benefits, notably via access to a wealth of tool support.  Making contribution easy is important to us too, and there are a lot of people using git.

The cost of switching is quite high, which is one reason we decided to stay with darcs last time.  We have multiple repos that need to be converted, and for some of them, where the repo is being shared with other projects, we may have to mirror rather than convert in place. We're prepared to put in the effort if the gains would be worthwhile though (offers of help are more than welcome!).


We're intrested in opinions from both active and potential GHC developers/contributors.  Let us know what you think - would this make life harder or easier for you?  Would it make you less likely or more likely to contribute?

Cheers,
       Simon

_______________________________________________
Cvs-ghc mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/cvs-ghc


_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: RFC: migrating to git

David Brown
In reply to this post by Max Bolingbroke-2
On Mon, Jan 10 2011, Max Bolingbroke wrote:

> 2) There was also concern that Git isn't so great on Windows. I have
> heard that this is less of an issue now, but I never personally
> suffered from any problems, so can't be sure. (FWIW I used Git on
> Windows industrially ~1 year ago for 3 months and didn't have
> problems, though the people around me occasionally had issues with
> e.g. case insensitivity causing obscure error messages).

As a linux kernel subsystem maintainer (but probably not a GHC
developer), I would probably still recommend git.  Mercurial and git are
getting fairly similar feature wise.  I find git easier to work with
lots of branches.

As far as Windows performance, it is poorer than when using it on Linux,
often vastly, but on Windows it tends to only perform about as slow as
other VCSes.  It's more the comparison against the Linux version that is
heavily tuned for the large history and numerous branches of the kernel.

David

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: Mercurial? Re: RFC: migrating to git

Johan Tibell-2
In reply to this post by Pavel Perikov
On Mon, Jan 10, 2011 at 2:43 PM, Pavel Perikov <[hidden email]> wrote:
>
> On 10.01.2011, at 16:40, Johan Tibell wrote:
>> While Mercurial is a fine choice, I think there are more Haskellers
>> that use Git than Mercurial. Probably because GitHub is such an
>> awesome service.
>
> Interesting. It will be great to see any numbers (really, just curious).

No real numbers. I've just observed what other Haskellers talk about
and where I usually find projects (when they are not in Darcs). We
could probably pull the numbers of Hackage.

Johan

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: Mercurial? Re: RFC: migrating to git

Pavel Perikov

On 10.01.2011, at 18:59, Johan Tibell wrote:
>  I've just observed what other Haskellers talk about
> and where I usually find projects (when they are not in Darcs). We
> could probably pull the numbers of Hackage.


Probably most valuable are the opinions of GHC development team of course :)
Git really seem to be more popular, Mercurial just seem more streamlined to me :)

P.


_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: RFC: migrating to git

Heiko Studt-2
In reply to this post by Max Bolingbroke-2
Am 10.01.2011 14:02, schrieb Max Bolingbroke:

> 2) There was also concern that Git isn't so great on Windows. I have
> heard that this is less of an issue now, but I never personally
> suffered from any problems, so can't be sure. (FWIW I used Git on
> Windows industrially ~1 year ago for 3 months and didn't have
> problems, though the people around me occasionally had issues with
> e.g. case insensitivity causing obscure error messages).

We are using GIT for a (way smaller) C++ - project here, which is mostly
Linux-based. Two of the developers (including me) were using Windows and
VS for our part, while building the whole stuff (using the same sources)
on Linux. The files were mounted via Samba.

The main issue are the line endings, which are to be set correctly. This
is a mess in TortoiseGIT, though the problem merely was that we were
using the source on both systems.

However, we do not exploit the full spectrum of tools and possibilities
of GIT. Actually, I am unaware of many of its features...

I am not contributing on GHC and am not going to.



MFG
Heiko

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: RFC: migrating to git

Thomas Schilling-2
In reply to this post by Simon Marlow-7
I'd be for a move, but haven't contributed much lately.  I use Git for
all my personal projects, so I consider Git to be useful.  I
personally find sending patches via Git to be harder than with Darcs,
but if we use Github the pull-request-based model should work well.

I used Git on Windows two years ago and didn't have any problems (the
case sensitive file name issue has a well-documented setting to avoid
issues).  I think I used msysGit and used msys to build GHC, so those
should work well together.  (Granted, though, I used Git only for a
small code base at the time.)

We'd probably have to adopt the workflow that Johan linked to
(separate branch for every larger change, merge with --no-ff) but that
might actually improve things (e.g., unmerging a branch if necessary).

The important issues, mentioned by Max, remain and I agree that GHC HQ
should have the last decision on these.

On 10 January 2011 11:19, Simon Marlow <[hidden email]> wrote:

> It's time to consider again whether we should migrate GHC development from
> darcs to (probably) git.
>
> From our perspective at GHC HQ, the biggest problem that we would hope to
> solve by switching is that darcs makes branching and merging very difficult
> for us.  We have a few branches of HEAD that are very painful to keep merged
> with HEAD, and we would almost certainly have more branches if the overhead
> were lower.  In some sense the overhead is self-inflicted because we have
> the no-conflict policy in the mainline repository, but that is to avoid
> problems with darcs' merging algorithms (both performance and correctness).
>  We are still using darcs v1 patches rather than v2, but there are known
> problems with v2 which are preventing us from upgrading.
>
> The darcs team have been making great strides with performance, but conflict
> handling remains a serious problem.  The darcs roadmap doesn't show this
> being fixed in the near future
>
>  http://wiki.darcs.net/Roadmap
>
> Rebase support is coming, and it does work, though the workflow is a bit
> laborious.
>
> Besides the branching/merging/conflict issue, switching to git would give us
> plenty of side benefits, notably via access to a wealth of tool support.
>  Making contribution easy is important to us too, and there are a lot of
> people using git.
>
> The cost of switching is quite high, which is one reason we decided to stay
> with darcs last time.  We have multiple repos that need to be converted, and
> for some of them, where the repo is being shared with other projects, we may
> have to mirror rather than convert in place. We're prepared to put in the
> effort if the gains would be worthwhile though (offers of help are more than
> welcome!).
>
>
> We're intrested in opinions from both active and potential GHC
> developers/contributors.  Let us know what you think - would this make life
> harder or easier for you?  Would it make you less likely or more likely to
> contribute?
>
> Cheers,
>        Simon
>
> _______________________________________________
> Cvs-ghc mailing list
> [hidden email]
> http://www.haskell.org/mailman/listinfo/cvs-ghc
>



--
Push the envelope. Watch it bend.

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: RFC: migrating to git

Nils Anders Danielsson-3
In reply to this post by Daniel Peebles
On 2011-01-10 16:39, Daniel Peebles wrote:
> (especially if it lived on github)

Even if GitHub is used you should probably arrange some other kind of
backup solution, because GitHub reserves the right to delete your
repository "for any reason at any time" (http://help.github.com/terms/).

--
/NAD

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: Mercurial? Re: RFC: migrating to git

Johan Tibell-2
In reply to this post by Pavel Perikov
On Mon, Jan 10, 2011 at 5:08 PM, Pavel Perikov <[hidden email]> wrote:
> Probably most valuable are the opinions of GHC development team of course :)
> Git really seem to be more popular, Mercurial just seem more streamlined to me :)

Their preference if of course very important, but they partly wanted
to make the change to get more contributors so in my opinion it makes
sense to switch to something that the majority of Haskellers use. I'm
not trying to get into a Git vs Mercurial argument here. I have more
important things to do, like writing code. :)

Johan

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: Mercurial? Re: RFC: migrating to git

Pavel Perikov

On 10.01.2011, at 19:29, Johan Tibell wrote:
>  I'm
> not trying to get into a Git vs Mercurial argument here. I have more
> important things to do, like writing code. :)

Absolutely true :)


_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

RE: RFC: migrating to git

Chris Dornan
In reply to this post by Daniel Peebles

As everyone has been saying, the primary issue is the workflow of the main contributors and the cost of the transition.

 

However, I made the transition to Git and GitHub earlier this year and that initial investment has been repaid handsomely (it’s the first system I have felt truly comfortable with).

 

I suspect a transition to Git would work out well in the long run and make the GHC sources more accessible.

 

Chris

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Daniel Peebles
Sent: 10 January 2011 15:40
To: Simon Marlow
Cc: GHC CVS list; [hidden email]
Subject: Re: RFC: migrating to git

 

I fully support this (especially if it lived on github), but we should probably sort the top contributors to GHC in the past year or so and consider their opinions on the matter in that order :) I certainly would not be on that list. A git(hub)-based workflow would however facilitate any minor contributions I might make (and I'd imagine those of many others).

 

Dan

On Mon, Jan 10, 2011 at 6:19 AM, Simon Marlow <[hidden email]> wrote:

It's time to consider again whether we should migrate GHC development from darcs to (probably) git.

From our perspective at GHC HQ, the biggest problem that we would hope to solve by switching is that darcs makes branching and merging very difficult for us.  We have a few branches of HEAD that are very painful to keep merged with HEAD, and we would almost certainly have more branches if the overhead were lower.  In some sense the overhead is self-inflicted because we have the no-conflict policy in the mainline repository, but that is to avoid problems with darcs' merging algorithms (both performance and correctness).  We are still using darcs v1 patches rather than v2, but there are known problems with v2 which are preventing us from upgrading.

The darcs team have been making great strides with performance, but conflict handling remains a serious problem.  The darcs roadmap doesn't show this being fixed in the near future

 http://wiki.darcs.net/Roadmap

Rebase support is coming, and it does work, though the workflow is a bit laborious.

Besides the branching/merging/conflict issue, switching to git would give us plenty of side benefits, notably via access to a wealth of tool support.  Making contribution easy is important to us too, and there are a lot of people using git.

The cost of switching is quite high, which is one reason we decided to stay with darcs last time.  We have multiple repos that need to be converted, and for some of them, where the repo is being shared with other projects, we may have to mirror rather than convert in place. We're prepared to put in the effort if the gains would be worthwhile though (offers of help are more than welcome!).


We're intrested in opinions from both active and potential GHC developers/contributors.  Let us know what you think - would this make life harder or easier for you?  Would it make you less likely or more likely to contribute?

Cheers,
       Simon

_______________________________________________
Cvs-ghc mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/cvs-ghc

 


No virus found in this message.
Checked by AVG - www.avg.com
Version: 10.0.1191 / Virus Database: 1435/3370 - Release Date: 01/09/11


_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: RFC: migrating to git

Johan Tibell-2
In reply to this post by Nils Anders Danielsson-3
On Mon, Jan 10, 2011 at 5:25 PM, Nils Anders Danielsson
<[hidden email]> wrote:
> Even if GitHub is used you should probably arrange some other kind of
> backup solution, because GitHub reserves the right to delete your
> repository "for any reason at any time" (http://help.github.com/terms/).

If that would ever happen (probably less likely than someone breaking
into our own machine and deleting the repo) we could take a repo from
anyone's machine and put it on any old Linux machine. Go distributed
version control!

Johan

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
12345