[GHC] #8545: Reorganize Git repositories

GHC ghc-devs at haskell.org
Sun Jan 12 12:13:35 UTC 2014


#8545: Reorganize Git repositories
-------------------------------------+------------------------------------
        Reporter:  hvr               |            Owner:  hvr
            Type:  task              |           Status:  new
        Priority:  normal            |        Milestone:  7.10.1
       Component:  Trac & Git        |          Version:
      Resolution:                    |         Keywords:  git
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:  #8251
-------------------------------------+------------------------------------

Comment (by Herbert Valerio Riedel <hvr@…>):

 In [changeset:"66693401b98cb5aa912948af7bbd2182474f50c4/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="66693401b98cb5aa912948af7bbd2182474f50c4"
 Fold testsuite.git into ghc.git (re #8545)

 This commit performs a subtree merge of testsuite.git into ghc.git;
 The next commit will adapt `sync-all` et al. to the new situation.

 At the time of merge, testsuite.git was at commit
 [998a816ae89c4fd573f4abd7c6abb346cf7ee9af/testsuite]

 The following steps have been used to accomplish this merge:

 1. Clone a fresh testsuite.git copy (& cd into)

 2. Remove accidentally committed binary files from history

  git filter-branch \
   --index-filter "git rm -r --cached --ignore-unmatch \
     tests/haddock/should_compile_flag_nohaddock/a.out \
     tests/haddock/should_compile_noflag_nohaddock/a.out \
     tests/ghc-regress/haddock/should_compile_flag_nohaddock/a.out \
     tests/ghc-regress/haddock/should_compile_noflag_nohaddock/a.out \
     tests/ghc-regress/dph/diophantine/dph-diophantine-fast \
     tests/ghc-regress/dph/diophantine/dph-diophantine-opt \
     tests/ghc-regress/dph/primespj/dph-primespj-fast \
     tests/ghc-regress/dph/quickhull/dph-quickhull-fast \
     tests/ghc-regress/dph/smvm/dph-smvm \
     tests/ghc-regress/dph/sumnats/dph-sumnats \
     tests/ghc-regress/dph/words/dph-words-fast \
     tests/ghc-regress/plugins/plugins01" \
    HEAD

 3. Rename all paths in testsuite.git to be prefixed with `testsuite/`

  git filter-branch -f --prune-empty --tree-filter \
   "mkdir -p testsuite; \
    git ls-tree --name-only \$GIT_COMMIT | xargs -I files mv files
 testsuite/"

 4. cd into ghc/ checkout, and perform subtree merge of testsuite into ghc
    (see also http://nuclearsquid.com/writings/subtree-merging-and-you/)

  cd ../ghc/
  git remote add -f testsuite ../testsuite/.git
  git merge -s ours --no-commit testsuite/master
  git read-tree --prefix=/ -u testsuite/master
  git commit

 Signed-off-by: Herbert Valerio Riedel <hvr at gnu.org>
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8545#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list