Changes between Version 69 and Version 70 of Commentary/Compiler/NewCodeGen


Ignore:
Timestamp:
Apr 28, 2011 3:12:38 PM (4 years ago)
Author:
ezyang
Comment:

HooplMirror no longer necessary

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/NewCodeGen

    v69 v70  
    3232We have the following repositories:
    3333
    34  * HEAD: the main GHC Darcs repo. `http://darcs.haskell.org/ghc`
     34 * HEAD: the main GHC git repo. `http://darcs.haskell.org/ghc`
    3535
    3636 * !HooplMaster: the master Hoopl Git repository.
     
    3838   [[BR]] (Physical location: `linux.cs.tufts.edu:/r/ghc/www/hoopl/hoopl.git`)
    3939
    40  * !HooplMirror: a Darcs mirror of the !HooplMaster repo.  Any push
    41    to !HooplMaster is automatically mirrored to !HooplMirror.  Do not (ever)
    42    push to !HooplMirror.
    43    [[BR]] '''Location''': `http://ghc.cs.tufts.edu/hoopl-mirror/`
    44    [[BR]] (Physical location: 'linux.cs.tufts.edu:/r/ghc/darcs-mirrors/hoopl')
    45 
    46  * !HooplLag: a Darcs repo that is guaranteed to work with GHC HEAD.    It is
     40 * !HooplLag: a Git repo that is guaranteed to work with GHC HEAD.    It is
    4741   not automatically updated by pushes to !HooplMaster.  Instead a manual
    48    process (below) updates it; hence "lag". 
    49    [[BR]] '''Location''': `http://darcs.haskell.org/packages/hoopl`.
    50 
     42   process (below) updates it; hence "lag".
     43   [[BR]] '''Location''': `http://darcs.haskell.org/packages/hoopl.git`.
    5144
    5245Normal GHC developers, who are uninterested in Hoopl, ignore all
    53 this.  If they download HEAD, and then do `darcs-all get` they'll get
     46this.  If they download HEAD, and then do `./sync-all get` they'll get
    5447!HooplLag, which is always guaranteed to work with HEAD.
    5548
    56 Developers who work on GHC and also need to modify Hoopl have a more torrid time.
     49Developers who work on GHC and also need to modify Hoopl need to ensure their changes end up in both repositories.
    5750
    58  * Create two trees:
    59    * Development tree (mixed Darcs and Git):
    60      * Download HEAD and `darcs-all get` 
    61      * Remove `libraries/hoopl` and do a `git clone` of !HooplMaster instead.
    62    * Validation tree (pure Darcs):
    63      * Download HEAD and `darcs-all get` 
    64 
    65  * Hack away in the development tree.  You can pull freely:
    66      * Subsequent `darcs-all pull` operations will [check!] no-op in the `libraries/hoopl` directory.
    67      * For `hoopl` you have to manually do `git pull` in `libraries/hoopl to pull patches from !HooplMaster.
    68 
    69  * Record Darcs patches and Hoopl patches.
    70 
    71  * Validate changes as follows:
    72    * Run validate in the development tree
    73    * `git push` patches to !HooplMaster
    74    * Wait for !HooplMirror to see these patches
    75    * In the validation tree,
    76        * `darcs-all pull` patches from the development tree (this will [check!]
    77          no-op for `hoopl`, because the dev-tree has a Git repo)
    78        * Manually pull patches from !HooplMirror
    79    * Validate in the validation tree
    80    * Push the validation tree to HEAD and the !HooplLag Darcs repo
     51 * In your hoopl directory in your development tree, add !HooplMaster as a remote and update your reference there.
     52 * Hack away in the development tree.
     53 * Record Hoopl commits.
     54 * Run validate in the development tree
     55 * Push the commits in hoopl to the !HooplMaster Git repo and the !HooplLag Git repo
    8156
    8257