Changes between Version 69 and Version 70 of Commentary/Compiler/NewCodeGen
- Timestamp:
- 04/28/11 08:12:38 (2 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Commentary/Compiler/NewCodeGen
v69 v70 32 32 We have the following repositories: 33 33 34 * HEAD: the main GHC Darcsrepo. `http://darcs.haskell.org/ghc`34 * HEAD: the main GHC git repo. `http://darcs.haskell.org/ghc` 35 35 36 36 * !HooplMaster: the master Hoopl Git repository. … … 38 38 [[BR]] (Physical location: `linux.cs.tufts.edu:/r/ghc/www/hoopl/hoopl.git`) 39 39 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 47 41 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`. 51 44 52 45 Normal GHC developers, who are uninterested in Hoopl, ignore all 53 this. If they download HEAD, and then do ` darcs-all get` they'll get46 this. If they download HEAD, and then do `./sync-all get` they'll get 54 47 !HooplLag, which is always guaranteed to work with HEAD. 55 48 56 Developers who work on GHC and also need to modify Hoopl have a more torrid time.49 Developers who work on GHC and also need to modify Hoopl need to ensure their changes end up in both repositories. 57 50 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 81 56 82 57
