HEADS-UP: Git submodule conversion imminent

Herbert Valerio Riedel hvriedel at gmail.com
Wed Jun 25 07:47:04 UTC 2014

Hello GHC Devs!

In order to not drag this out any longer, I'll completing the submodule
conversion in the next few hours by converting the remaining sub-repo
packages into proper submodules. 

This is represents phase 1 of the reorganization (phase 2 comprises
officially transitioning the push-urls of *some* the packages to
github.com/haskell as happened with haddock). However, this phase 1 is
important to get done early (ideally half a year ago) in order to make
'ghc-complete' bit more redundant (I hope Joachim doesn't mind... :-) )
and allow to properly 'git bisect' as far back as possible into the

While the workflow changes[1] to additionally have the sub-repo change also
registed in ghc.git, practically, this should affect only a minority of
you, as the remaining packages (see list at the bottom of this mail) to be
converted into submodules are modified *very* seldom.

This will be similiar to the conversion of haddock.git into a proper
submodule of which you read up in

 * <http://permalink.gmane.org/gmane.comp.lang.haskell.ghc.devel/4049>
 * <http://permalink.gmane.org/gmane.comp.lang.haskell.ghc.devel/4072>
 * <http://permalink.gmane.org/gmane.comp.lang.haskell.ghc.devel/4077>

List of packages converted into proper submodules:

 * libffi-tarballs             libffi-tarballs.git
 * utils/hsc2hs                hsc2hs.git
 * libraries/array             packages/array.git
 * libraries/deepseq           packages/deepseq.git
 * libraries/directory         packages/directory.git
 * libraries/filepath          packages/filepath.git
 * libraries/haskell98         packages/haskell98.git
 * libraries/haskell2010       packages/haskell2010.git
 * libraries/hoopl             packages/hoopl.git
 * libraries/hpc               packages/hpc.git
 * libraries/old-locale        packages/old-locale.git
 * libraries/old-time          packages/old-time.git
 * libraries/process           packages/process.git
 * libraries/unix              packages/unix.git
 * nofib                       nofib.git
 * libraries/parallel          packages/parallel.git
 * libraries/stm               packages/stm.git
 * libraries/dph               packages/dph.git

Ideally, you won't have any outstanding changes in those repos (hint,
hint!) to make the transition for your GHC clones easier. I'll follow up
with more specific instructions as soon as I've pushed the changes.

N.B.: ghc-tarballs will *not* become a submodule, as it would impose a
      non-neglible cost on everyone, not only the developers on windows
      and, moreover, the plan is to turn ghc-tarballs into a scripted
      download (or maybe something git-annex based) as Git is not really
      suited for such large blobs.

      See also discussion at

 [1]: For the new workflow in case you really happen to have to touch
      one of the affected modules, see the work-in-progress Wiki entry at

More information about the ghc-devs mailing list