how to checkout proper submodules

Daniel Trstenjak daniel.trstenjak at
Wed Jun 5 17:20:55 CEST 2013

Hi Austin,

On Wed, Jun 05, 2013 at 09:41:56AM -0500, Austin Seipp wrote:
> But it's not installed by default with git, it's unclear if it ever will be.

I think subtree has been part of git since 1.7.x .

I have just installed the default git package (git of Ubuntu
13.04 and the subtree command is just there.

> Although subtree gives the appearance of a unified repository from my
> understanding, in practice all developers will probably need to touch
> multiple repositories for several reasons anyway (like testsuite and
> base.) That means the third-party merge is pretty much always going to
> happen for any non-sizeable work, the person who *did* the work will
> be the one doing it, essentially amounting to basically everyone
> needing subtree in the long term.

Sorry that I'm not aware of the GHC development process, but why are
the testsuite and base in separate repositories?

submodules are fine for tracking repositories, but if you're all the
time changing multiple submodules, than it's a sign that you've a
strong dependency between the repositories, so why not just having
one repository?

> 2) One thing this *does* complicate is that currently, some
> repositories are optional. Submodules effectively make them 100%
> non-optional. Now, normally, I would say all developers should have
> every relevant library anyway. In this case however, it is a tad bit
> annoying. On my ARM machines for example, DPH regularly fails
> late-in-build due to a bug in the (custom) linker, because dph
> requires stage2+ghci. But it also takes a long time to build DPH, so
> in practice I just remove it to save myself that time. Some others do
> the same.

Isn't this more a build system issue, that you're able to specify what
should/shouldn't be build, than a repository issue?


More information about the ghc-devs mailing list