
Hi Austin, On Wed, Jun 05, 2013 at 10:47:27AM -0500, Austin Seipp wrote:
It's *part* of mainline git, but it is not installed with git. It's part of git's "contrib" functionality package which requires that your package maintainer be gracious enough to include it and install it by default, which requires extra intervention at build-time.
As a counter-example, my 'git' from Ubuntu 12.04 LTS machine has no subtree and there are no existing instances of it in any 'precise' repositories. I'm hesitant to require developers en masse to use it for reasons like this.
(Frankly I also don't know how this would work out on windows. Like, I don't know how to get a git-build-with-subtree-for-windows, much less if it works on windows at all.)
git-subtree is just a bash script, so it's more of an installing than a building issue. The windows version of git already has to support bash by using the msys environment.
Because GHC does not technically 'own' them by the most strict definition. testsuite and base are also useful for other compilers, such as nhc98 (and indeed, nhc uses base itself.) The same can be said of nofib. As a result, there is a separation.
Just to make it clear, testsuite and base could still be contained in separate repositories, regardless if GHC would use git-subtree or not. It's just the question how these repositories are incorporated into GHC. Greetings, Daniel