how to checkout proper submodules

Ian Lynagh ian at
Wed Jun 5 17:59:47 CEST 2013

On Tue, Jun 04, 2013 at 09:05:58PM -0500, Austin Seipp wrote:
> I know we had this discussion sometime recently I think, but can
> someone *please* explain why we are in this situation of half
> submodules, half random-floating-git-repository-checkouts?

Submodules are very handy for libraries that someone else maintains: We
can make a local change to the library when we need something fixed,
and then, when upstream has a fix too, we can jump straight to their fix
without having to do any merging.

However, submodules have various disadvantages, e.g.

The main one for me is that it's fairly easy to lose local changes when
using submodules. This is relatively unimportant for the libraries that
someone else maintains, as we don't often make any local changes to
lose. Even so, I've lost changes on a couple of occasions.

So the reason we entered this state is that we didn't think the
advantages outweighed the disadvantages for the other repositories.

Ian Lynagh, Haskell Consultant
Well-Typed LLP,

More information about the ghc-devs mailing list