how to checkout proper submodules

Ryan Newton rrnewton at gmail.com
Thu Aug 22 23:02:39 CEST 2013


Ok, resuming after release makes sense.

Regarding whether it reached a conclusion:

What struck me about this particular discussion was the *lack* of
disagreement (relative to say, the records debate).  It seemed like no one
was arguing for the status quo and just about everyone agreed that moving
to all-submodules is better than the current mix.

Still, one could argue that making an improvement is premature if (1) there
is significant transition cost to make the change, or (2) it puts you on
some kind of local optima that makes it harder to get to a higher peak.
 Yet in the case of all-submodules vs. ugly-mix, the transition cost is
very low, and it doesn't preclude any future improvements.  (For example,
it is completely reasonable to later decide to copy certain modules into
the tree rather than using submodules.)

But maybe I'm under-estimating the severity of the anti-submodule
grumbling... that is, I may not not be accurately distinguishing the
"submodules have their annoyances but they are the lesser evil" opinion
from "I will adamantly oppose adding any more submodules".

Best,
  -Ryan



On Thu, Aug 22, 2013 at 4:14 PM, Simon Peyton-Jones
<simonpj at microsoft.com>wrote:

>  There was a long discussion about this a couple of months ago.  It did
> not reach a conclusion, but it is merely parked, not abandoned. I hope that
> you can all pick it up again after the release.****
>
> ** **
>
> Simon****
>
> ** **
>
> *From:* ghc-devs [mailto:ghc-devs-bounces at haskell.org] *On Behalf Of *Austin
> Seipp
> *Sent:* 22 August 2013 20:31
> *To:* Ryan Newton
> *Cc:* ghc-devs at haskell.org; Edward Kmett
> *Subject:* Re: how to checkout proper submodules****
>
> ** **
>
> Simon and I discussed this a little today. I think there are several
> legitimate points made throughout the threads here, but the problem is
> clear: consistent builds are difficult, if not legitimately impossible.
> That's a very big problem.****
>
> ** **
>
> Right now, it is far too late into release cycle to do anything drastic
> I'm afraid. Once we branch, we can feasibly start making good changes in
> this direction. One problem however is that we don't even have a clear
> writeup over what all the relevant points are (aside from this + all the
> ranting I did elsewhere, which is loosely in my head still.) Earlier today,
> I preemptively created this page, but have not jotted down any of my notes:
> http://ghc.haskell.org/trac/ghc/wiki/GitSubmoduleProblem****
>
> ** **
>
> For a short recap, here is what I think:****
>
> ** **
>
>  1) Several repositories should really just become part of GHC's
> repository. I'd argue that includes testsuite, nofib, and several others
> (integer-gmp/integer-simple, hpc, etc.) They don't need to be submodules
> and making them so is unnecessary complexity, when they can realistically
> never be used with anything else. This cuts down on something like 10
> repositories, IIRC.****
>
> ** **
>
>  2) Several more should become submodules, where 'more' = the libraries
> under the new Core Libraries Committee. They will be taking over several of
> the other free floating repositories that are not currently submodules. We
> no longer will 'own' them, as it is.****
>
> ** **
>
>  3) 'base' and 'ghc-prim' are up for more debate it seems. Roman wants
> them in particular for haskell-suite, but really he only wants a repository
> to work with from what I remember. I'm not sure what to do here. Making
> them a submodule is realistic, but I'm honestly a little afraid of
> submodules for a package which is so highly traffic'd by developers
> (another reason I don't want e.g. testsuite as a submodule, either.)****
>
> ** **
>
> The first two points alone should help a lot in making builds more
> reliable and reproducible, but it will require changes in the development
> workflow. In particular, it's much easier to lose work with submodules -
> especially for those among us who are not Git masters. So we should take
> the time to clearly explain all of this. But 1 & 2 should cover a large
> part the current setup, and most repos are very low traffic. Also, I'd like
> to take the time to have a discussion with Edward Kmett (who I have CC'd)
> about point 2 to make sure we're on the same page here. But I haven't done
> this yet.****
>
> ** **
>
> Point 3 seems to really be the most contentious, since a few other things
> come with it. Should we give up on 'base' being usable by other compilers?
> Historically that's why it's separate. But really it's easy to write code
> against 'base' that will never work with another compiler anyway. But maybe
> that can be fixed. And will the base split - also slated for post 7.8 -
> also change the ownership of significant parts of the library, based on how
> it is implemented? There were several things floating around this.****
>
> ** **
>
> Regardless of point 3 and all that, something should and will be done
> soon. I'll put this up on the wiki later when I have time. We just need a
> directly spelled out plan of attack.****
>
> ** **
>
> ** **
>
> On Thu, Aug 22, 2013 at 2:04 PM, Ryan Newton <rrnewton at gmail.com> wrote:**
> **
>
>  Hi all,****
>
> ** **
>
> I just reread this thread again.  Is this one of these situations where *almost
> everyone agrees, but the fix just didn't happen*?****
>
> ** **
>
> In particular, there is still no formal relationship between versions of
> the compiler and versions of the testsuite that tests it -- that seems odd!
>  Can we please make *testsuite at least *a sub-module?  If we count this
> long email thread as rough consensus, is it just waiting on someone of
> sufficient authority typing a "git submodule add" command (and tweaking
> sync-all accordingly)?****
>
> ** **
>
> Also, Jan's suggestion sounded good -- that once all child repos are git
> submodules then sync-all can be replaced with something that helps out with
> git submodule branching, as it helps out with multi-repo branching now (a
> little bit).****
>
> ** **
>
> Best,****
>
>   -Ryan****
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
> On Wed, Jun 5, 2013 at 2:02 PM, Jan Stolarek <jan.stolarek at p.lodz.pl>
> wrote:****
>
>  I think that testsuite should be included in the main GHC repo. I don't
> recall any other project
> that has its tests placed in a separate repository. The nhc argument
> doesn't convince me - after
> all, most test that are added nowadays are GHC specific.
>
> Janek****
>
> ** **
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs****
>
>  ** **
>
>
>
> ****
>
> ** **
>
> -- ****
>
> Regards,
> Austin - PGP: 4096R/0x91384671****
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20130822/e4024799/attachment.htm>


More information about the ghc-devs mailing list