RFC: migrating to git
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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On 10 January 2011 11:19, Simon Marlow marlo...@gmail.com 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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On 10/01/2011 13:02, Max Bolingbroke wrote: On 10 January 2011 11:19, Simon Marlowmarlo...@gmail.com 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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Mercurial? Re: RFC: migrating to git
Please please consider Mercurial if migration from darcs is inevitable :) P. ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On Mon, Jan 10, 2011 at 12:19 PM, Simon Marlow marlo...@gmail.com 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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On Mon, Jan 10, 2011 at 2:02 PM, Max Bolingbroke batterseapo...@hotmail.com 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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: Mercurial? Re: RFC: migrating to git
On Mon, Jan 10, 2011 at 2:34 PM, Pavel Perikov peri...@gmail.com 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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: Mercurial? Re: RFC: migrating to git
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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On Mon, Jan 10, 2011 at 01:27:17PM +, 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 | z...@acc.umu.se ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
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 marlo...@gmail.com 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 cvs-...@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: Mercurial? Re: RFC: migrating to git
On Mon, Jan 10, 2011 at 2:43 PM, Pavel Perikov peri...@gmail.com 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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: Mercurial? Re: RFC: migrating to git
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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
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 marlo...@gmail.com 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 cvs-...@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc -- Push the envelope. Watch it bend. ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: Mercurial? Re: RFC: migrating to git
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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On Mon, Jan 10, 2011 at 5:25 PM, Nils Anders Danielsson n...@cs.nott.ac.uk 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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
RE: RFC: migrating to git
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: glasgow-haskell-users-boun...@haskell.org [mailto:glasgow-haskell-users-boun...@haskell.org] On Behalf Of Daniel Peebles Sent: 10 January 2011 15:40 To: Simon Marlow Cc: GHC CVS list; glasgow-haskell-users@haskell.org 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 marlo...@gmail.com 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 cvs-...@haskell.org 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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On 10 Jan 2011, at 14:02, Gregory Collins wrote: +1. I don't have a lot of skin in this particular game (I'm not currently a GHC contributor and am unlikely to become one in the near future), but I can offer some anecdotal evidence: As another non-GHC contributor, my opinion should probably also count for little, but my experience with git has been poor. I have used git daily in my job for the last year. Like Simon PJ, I struggle to understand the underlying model of git, despite reading quite a few tutorials. I have a high failure rate with attempting anything beyond the equivalents of darcs record, push, and pull. When I use darcs, my local workflow typically involves lots of amend- record, cherry-picking, and multiple repos/branches. I have tried to do these things in git a few times and failed miserably. I am an old- fashioned unix command-line lover, but I find using the git command- line is next to impossible, and as a consequence do almost everything in git gui. If the gui interface does not let me do an action, then I often can't work out how to do it at all, even after googling. Mind you, some other people at work somehow manage to use git's support for branching reasonably successfully. But we have occasional mishaps where a repo is made totally unusable by somebody making a tiny mistake with their branching commands. Our standard advice at work for people who get their repo muddled is to throw it away, re- clone the master, and manually re-code their local changes from scratch (with the help of diff). If I were considering contributing minor patches to a project, the use of git would probably not deter me too much - I can cope with the simple stuff. But if I wanted more major involvement, git would definitely cause me to think twice about whether to bother. Regards, Malcolm ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
RE: Fwd:
Hi, I need to be able to take a piece of Haskell source code and get an simplified, typed, intermediate representation of the AST, which means I need to use compiler/coreSyn/CoreSyn.lhs So I'm first trying to get the desguaredModule of the source code with ... modSum - getModSummary $ mkModuleName ... p - parseModule modSum t - typecheckModule p d - desugarModule t Now I'm really stuck on figuring out how to connect the variable d of type desugaredModule to compiler/coreSyn/CoreSyn.lhs to get Expr patterns like App, Let, Case, etc. Also, is it correct to get the deguaredModule first? At least CoreSyn.lhs seems to suggest this. Any suggestions would be greatly appreciated. ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Question about Haskell AST
Hi, I need to be able to take a piece of Haskell source code and get an simplified, typed, intermediate representation of the AST, which means I need to use compiler/coreSyn/CoreSyn.lhs So I'm first trying to get the desguaredModule of the source code with ... modSum - getModSummary $ mkModuleName ... p - parseModule modSum t - typecheckModule p d - desugarModule t Now I'm really stuck on figuring out how to connect the variable d of type desugaredModule to compiler/coreSyn/CoreSyn.lhs to get Expr patterns like App, Let, Case, etc. Also, is it correct to get the deguaredModule first? At least CoreSyn.lhs seems to suggest this. Any suggestions would be greatly apprecia ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
It's time to consider again whether we should migrate GHC development from darcs to (probably) git. I'd be thrilled to see GHC migrate to git, and I'd be much more likely to make new contributions to the back end. The rest of this email contains observations about my own experience with source-code control. From 2007 through 2009, I spent at least several months each doing real projects in each of darcs, hg, and git. After this experience I settled on git for all my personal projects and most of the projects done in my lab. I like git well enough to have migrated several projects from legacy systems like CVS and (brace for it) RCS. I love the alleged features of darcs, but the reality of the performance is disappointing, and I once lost two week's work, which I had to painstakingly re-create by hand. I also have had difficulty learning the ancillary tools that support darcs. My workflow has never involved much cherry-picking, and I tried revising history ('rebasing') once and didn't like it. But I use git's cheap branching and merging workflow *very* heavily. (The only part of git I use more heavily is the graphical commit tool.) I left with a very poor impression of Mercurial. The simplicity is more apparent than real. Two grave faults are - Crucial functionality is provided by plugins in a configuration file. The configuration is not itself under revision control, and if different replicas have different configurations, results can be very confusing. - As far as I can tell, conflicts *must* be handled by a plugin. Every single one of these plugins requires a graphical tool, and I found each tool more confusing than the next. To make some merges work I had to get help from students---proving the old adage that the most clueless user of your software is not a graduate student; it is a tenured professor. There are plenty of other problems with Mercurial (commits don't have unique names; it doesn't cope well with big files; the graphical commit tool is a usability disaster; yada yada yada). After the initial settling-in period, I've been very happy with git. Don't get me wrong: git is a terrible tool---but it's the best of a bad breed. Anybody switching to git should be prepared: - Learning git is very unpleasant. I would say that the design is overly complex, but I see no evidence that any activity called 'designing the system' ever took place. (Example: in the world of git, 'push' and 'pull' are not dual.) Some of what makes git strange *does* make good design sense, but it is not explained well. (Example: it took me forever to understand that the mysterious 'index' is simply a device for packaging a group of changes into a single, atomic 'commit'.) - Git doesn't do what it says on the tin. In particular, certain combinations of actions are known to lead to breakage. Examples I have encountered personally include - Pushing to a repo that has changes in its working directory - Changing history in a repository not utterly private - Naming a branch 'head', which works fine on Unix and causes baffling failures on other filesystems Using git successfully requires that you avoid the vermin in the dark corners. But my top three activities---commit, publish, branch/merge---are all well supported and happen *quickly*. The graphical commit tool and history browser are reasonably good. A final comment: asking people to make the transition to git on their own is asking a lot. If GHC Central want to make this change, we should plan on some kind of tutorial, perhaps at the next Haskell Implementors' Workshop, to help people migrate. Norman ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On Mon, Jan 10, 2011 at 12:47:43PM -0500, Norman Ramsey wrote: My workflow has never involved much cherry-picking, and I tried revising history ('rebasing') once and didn't like it. But I use git's cheap branching and merging workflow *very* heavily. Do you mean you've used this to do something similar to maintaining a GHC stable branch? Thanks Ian ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On Mon, Jan 10, 2011 at 01:27:17PM +, Simon Marlow wrote: 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). I'm not sure OTTOMH, but I think that it's more common that another patch gets pulled in than a manual merge is done. Other patches are generally comment changes, whitespace fixes, or things like build system tweaks that weren't worth merging for the sake of it. Thanks Ian ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
I am very interested in contributing to GHC, though the state of development with darcs makes me hesitate. A switch to git would make contribution to the project much easier. --trevor On 01/10/2011 03:19 AM, Simon Marlow 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 ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users smime.p7s Description: S/MIME Cryptographic Signature ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On Mon, Jan 10, 2011 at 01:27:17PM +, Simon Marlow wrote: 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. I think it's hard to know how well it's going to work in advance (I was going to try redoing all the GHC 7 merges with git, but that won't tell us much if they would have been recorded differently in a git workflow), so perhaps we should change only the GHC repo at first, and see how it goes? That way, if we decide it's worse, we haven't done a lot of work migrating dependencies or setting up mirrors, and to roll back we only need to migrate the new git patches into the old darcs repo. Thanks Ian ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
Hello, I have been working on a GHC branch for the last few months and, for me, switching to git would be a win because I find it quite difficult to keep my branch and HEAD synchronized. I allocate about a day, probably about once a month, to redo my repository so that it is in sync with HEAD. My background is that I use many VCSes for work (although lately, mostly git), and git for my non-work projects. I am by no means an advanced VCS user. I do like git's graph-based non-mutable history model and it has been the only VCS where I've been able to work out how to do something more or less from first principles. I don't really use the command line interface much, I tend to use mostly tools like gitk, and git gui. -Iavor On Mon, Jan 10, 2011 at 10:46 AM, Ian Lynagh ig...@earth.li wrote: On Mon, Jan 10, 2011 at 01:27:17PM +, Simon Marlow wrote: 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. I think it's hard to know how well it's going to work in advance (I was going to try redoing all the GHC 7 merges with git, but that won't tell us much if they would have been recorded differently in a git workflow), so perhaps we should change only the GHC repo at first, and see how it goes? That way, if we decide it's worse, we haven't done a lot of work migrating dependencies or setting up mirrors, and to roll back we only need to migrate the new git patches into the old darcs repo. Thanks Ian ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On 10/01/2011, at 13:27, Simon Marlow wrote: On 10/01/2011 13:02, Max Bolingbroke wrote: 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. I'm not sure how that is going to work. It might well be possible to build GHC using only git. But most GHC developers also contribute to various libraries which are often quite intimately linked to GHC. In particular, GHC patches are often accompanied by library patches. Unless all those libraries switch to git, too, we'll have to use both git and darcs which would be *really* annoying. Personally, I rather dislike git, mostly for the reasons that Malcolm already mentioned. Compared to darcs, it seems to get in the way much too often. It also seems to make finding buggy patches rather hard. But maybe I just don't know how to use it properly. In any case, a switch to git wouldn't deter me from contributing to GHC, but neither would a switch to any other VCS. I would certainly swear more often while developing, though. Roman ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: Mercurial? Re: RFC: migrating to git
On Mon, Jan 10, 2011 at 5:34 AM, Pavel Perikov peri...@gmail.com wrote: Please please consider Mercurial if migration from darcs is inevitable :) For what it's worth, Mercurial generally interoperates quite well with git and github, using the hg-git plugin. As a longtime Mercurial user and an occasional GHC contributor, it wouldn't be a practical problem for me if GHC were to switch to git. ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
As another non-GHC contributor, my opinion should probably also count for little, but my experience with git has been poor. I have used git daily in my job for the last year. Like Simon PJ, I struggle to understand the underlying model of git, despite reading quite a few tutorials. I have a high failure rate with attempting anything beyond the equivalents of darcs record, push, and pull. I'm in exactly the same camp as Malcolm. I don't understand git, and I end up deleting the entire repo and starting again every time I try and do anything clever - something I've never needed to do with darcs. I consider the git equivalent of darcs unrecord to be rm -rf, but I'm sure that's a lack of knowledge/intuition on my part. All my git dislike aside, I wouldn't worry about git and Windows. GHC on Windows already drags in plenty of dependencies from Cygwin or Mingw, both of which provide workable git binaries, and none of which ever seem to have caused a problem. The standard gui's (gitk and git gui) both work on Windows, and I certainly miss them when using darcs. Thanks, Neil ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On 01/10/2011 08:52 AM, Malcolm Wallace wrote: If I were considering contributing minor patches to a project, the use of git would probably not deter me too much - I can cope with the simple stuff. But if I wanted more major involvement, git would definitely cause me to think twice about whether to bother. And just to show that you can't make everyone happy ... I'll put in an equal-and-opposite vote from Malcolm. GHC's use of darcs is a blocker for me even thinking about doing any work on GHC or the related libraries; my limited experience with darcs has been terrible, and the swearing I've heard about darcs makes me think my experience was not unique. Switching to git would make the chance that I'd do work on GHC nonzero. - Adam smime.p7s Description: S/MIME Cryptographic Signature ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
So the basic point seems to be: if you know how to use a tool, you don't usually curse and swear when you use it. If you don't, you tend to swear a lot! :) On Mon, Jan 10, 2011 at 5:32 PM, Adam Wick aw...@galois.com wrote: On 01/10/2011 08:52 AM, Malcolm Wallace wrote: If I were considering contributing minor patches to a project, the use of git would probably not deter me too much - I can cope with the simple stuff. But if I wanted more major involvement, git would definitely cause me to think twice about whether to bother. And just to show that you can't make everyone happy ... I'll put in an equal-and-opposite vote from Malcolm. GHC's use of darcs is a blocker for me even thinking about doing any work on GHC or the related libraries; my limited experience with darcs has been terrible, and the swearing I've heard about darcs makes me think my experience was not unique. Switching to git would make the chance that I'd do work on GHC nonzero. - Adam ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
I just want to point out that since the last discussion we collected some migration advice at http://hackage.haskell.org/trac/ghc/wiki/GitForDarcsUsers Some of it may be untested (or wrong), but it should be a good starting point. On 10 January 2011 22:15, Neil Mitchell ndmitch...@gmail.com wrote: As another non-GHC contributor, my opinion should probably also count for little, but my experience with git has been poor. I have used git daily in my job for the last year. Like Simon PJ, I struggle to understand the underlying model of git, despite reading quite a few tutorials. I have a high failure rate with attempting anything beyond the equivalents of darcs record, push, and pull. I'm in exactly the same camp as Malcolm. I don't understand git, and I end up deleting the entire repo and starting again every time I try and do anything clever - something I've never needed to do with darcs. I consider the git equivalent of darcs unrecord to be rm -rf, but I'm sure that's a lack of knowledge/intuition on my part. All my git dislike aside, I wouldn't worry about git and Windows. GHC on Windows already drags in plenty of dependencies from Cygwin or Mingw, both of which provide workable git binaries, and none of which ever seem to have caused a problem. The standard gui's (gitk and git gui) both work on Windows, and I certainly miss them when using darcs. Thanks, Neil ___ Cvs-ghc mailing list cvs-...@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc -- Push the envelope. Watch it bend. ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On Jan 10, 2011, at 5:19 AM, Simon Marlow 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? +1 for moving to git As an infrequent contributor I would welcome the move to git. I think the biggest advantage from my perspective would be enabling branches which I have avoided up to now because of the painful process I hear about from others. Another possible advantage to git would be its support for submodules[1]. If we made the switch to git for all the repositories that GHC uses, then we could set them up as submodules. The advantage of submodules is that the GHC repo would contain pointers to the exact commit needed in the remote repository, and they would be under version control. Having submodules for the other repos would be similar to the darcs_all script, but would not have the danger of leaving [dangling pointers][2] when making a new branch. [1] http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html [2] http://www.haskell.org/pipermail/cvs-ghc/2010-November/057573.html ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
I'm inclined to vote +1 for a move to git. JP and I seem to collaborate just fine using github for EclipseFP and scion, FWIW. I tend to develop on ad hoc branches before I merge changes back onto the master branch. I can't say that either of us have run into significant problems, although I did hose myself once merging some of JP's changes onto my branch. Not a big deal, since one will run into those problems from time to time. Win32/64: Current msysgit hasn't caused me any significant pain. I'm not entirely focused on performance, just getting latest patch sets from the github repo. Since it's just the two of us working on separate forks, I'm not sure that either of us are pushing git to its limits. I suspect that if there are multiple branches being developed, merging code from multiple branches into your branch will be tough. Not sure that any VCS will help you there. Where things will get really nasty is merging later changes to the scion-server code back with nominolo's latest mega patch. This is where theory of patches or any VCS theory will just break, since the changes are substantial. I'm not sure any VCS or DVCS will ever solve the problem of major divergence. -scooter On Mon, Jan 10, 2011 at 3:19 AM, Simon Marlow marlo...@gmail.com 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 ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
On 10 January 2011 22:19, Simon Marlow marlo...@gmail.com 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 really like GHC to move to git. I find darcs pretty annoying when working in a branch and the performance still just isn't good enough (e.g can't use 'annotate'). I've been a big fan of git from pretty much as soon as I started using it, its interface is badly designed at times but with the help of google I've always been able to get it to do what I want. Defiantly can't say the same for darcs. It didn't stop me contributing but when I first started hacking on ghc I was very put of by darcs as I had only recently got over the nightmares of the very common exponential merge issue from 1.x days. ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
I agree with Roman's position. I would prefer to stay with darcs (it has its advantages and disadvantages, but has definitely been improving much in the past). In any case, all of GHC including all dependencies must be available and patchable with a *single* VCS. Mixing VCS' will lead to madness. Manuel PS: This talk about contributing to a project if it changes its VCS seems a bit lame to me. You contribute to a project in a serious way because you care about the project and because you need whatever improvements you are implementing, not because you like the VCS. Roman Leshchinskiy: On 10/01/2011, at 13:27, Simon Marlow wrote: On 10/01/2011 13:02, Max Bolingbroke wrote: 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. I'm not sure how that is going to work. It might well be possible to build GHC using only git. But most GHC developers also contribute to various libraries which are often quite intimately linked to GHC. In particular, GHC patches are often accompanied by library patches. Unless all those libraries switch to git, too, we'll have to use both git and darcs which would be *really* annoying. Personally, I rather dislike git, mostly for the reasons that Malcolm already mentioned. Compared to darcs, it seems to get in the way much too often. It also seems to make finding buggy patches rather hard. But maybe I just don't know how to use it properly. In any case, a switch to git wouldn't deter me from contributing to GHC, but neither would a switch to any other VCS. I would certainly swear more often while developing, though. Roman ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: RFC: migrating to git
I'm not sure if your statement regarding the decoupling between contributors and VCSes holds water. The VCS is definitely a factor, but certainly not the only one. I've been demotivated by VCSes before and it has directly impacted whether I continued my involvement. Granted that the VCS was SCCS, but still... Sample size of one, not the basis for a system of government and statements regarding watery bints lying in ponds apply. -scooter Sent from my Verizon Wireless BlackBerry -Original Message- From: Manuel M T Chakravarty c...@cse.unsw.edu.au Sender: glasgow-haskell-users-boun...@haskell.org Date: Tue, 11 Jan 2011 15:01:43 To: GHCcvs-...@haskell.org; GHC Listglasgow-haskell-users@haskell.org Cc: Simon Marlowmarlo...@gmail.com Subject: Re: RFC: migrating to git I agree with Roman's position. I would prefer to stay with darcs (it has its advantages and disadvantages, but has definitely been improving much in the past). In any case, all of GHC including all dependencies must be available and patchable with a *single* VCS. Mixing VCS' will lead to madness. Manuel PS: This talk about contributing to a project if it changes its VCS seems a bit lame to me. You contribute to a project in a serious way because you care about the project and because you need whatever improvements you are implementing, not because you like the VCS. Roman Leshchinskiy: On 10/01/2011, at 13:27, Simon Marlow wrote: On 10/01/2011 13:02, Max Bolingbroke wrote: 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. I'm not sure how that is going to work. It might well be possible to build GHC using only git. But most GHC developers also contribute to various libraries which are often quite intimately linked to GHC. In particular, GHC patches are often accompanied by library patches. Unless all those libraries switch to git, too, we'll have to use both git and darcs which would be *really* annoying. Personally, I rather dislike git, mostly for the reasons that Malcolm already mentioned. Compared to darcs, it seems to get in the way much too often. It also seems to make finding buggy patches rather hard. But maybe I just don't know how to use it properly. In any case, a switch to git wouldn't deter me from contributing to GHC, but neither would a switch to any other VCS. I would certainly swear more often while developing, though. Roman ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users