Folding ghc/testsuite repos *now*, 2nd attempt (was: Repository Reorganization Question)

Herbert Valerio Riedel hvr at gnu.org
Thu Jan 9 10:31:13 UTC 2014


Hello All,

It seems to me, there were no major obstacles left unaddressed in the
previous discussion[1] (see summary below) to merging testsuite.git into
ghc.git.

So here's one last attempt to get testsuite.git folded into ghc.git before
Austin branches off 7.8 

Please speak up *now*, if you have any objections to folding
testsuite.git into ghc.git *soon* (with *soon* meaning upcoming Sunday,
12th Jan 2014)

----

A summary of the previous thread so far:

 - Let's fold testsuite into ghc before branching off 7.8RC
   - ghc/testsuite have the most coupled commits
   - make's it a bit easier to cherry pick ghc/testsuite between branches
   - while being low-risk, will provide empiric value for deciding how
     to proceed with folding in other Git repos

 - Proof of concept in
   http://git.haskell.org/ghc.git/shortlog/refs/heads/wip/T8545

 - general support for it; consensus that it will be beneficial and
   shouldn't be a huge disruption

 - sync-all is adapted to abort operation if `testsuite/.git` is
   detected, and advising the user to remove (or move-out-of-the-way)

 - Concern about broken commit-refs in Trac and other places:

    - old testsuite.git repo will remain available (more or less)
      read-only; so old commit-shas will still be resolvable

    - (old) Trac commit-links which work currently will continue to
      work, as they refer specifically to the testsuite.git repo, and
      Trac will know they point to the old testsuite.git

    - If one doesn't know which Git repo a commit-id is in, there's
      still the SHA1 look-up service at http://git.haskell.org/ which
      will search all repos hosted at git.haskell.org for a commit
      SHA1 prefix. Or alternatively, just ask google about the SHA1.

 - Binary blobs (a few compiled executables) that were committed by
   accident and removed right away again are removed from history to
   avoid carrying around useless garbage in the Git history (saves
   ~20MiB)

 - Path names are rewritten to be based in testsuite/, in order to
   make it easier for Git operations (git log et al.) to follow
   history for folders/filenames

 - Old Commit-ids will *not* be written into the rewritten commits'
   messages in order not to add noise (old commit ids can be resolved
   via the remaining old testsuite.git repo)



 [1] http://permalink.gmane.org/gmane.comp.lang.haskell.ghc.devel/3099


More information about the ghc-devs mailing list