Simon Peyton Jones <simon.peytonjo...@gmail.com> writes: > Dear devs > > I'm working on !8750, which has some knock-on changes that are needed on > the Haddock repo. So > > - in the main repo I have wip/T21623 > - in the utils/haddock repo have branch wip/spj-T21623 > > Periodically I need to rebase on master. > > Question: what is the Blessed Sequence of Commands that I should use to > push the right changes to haddock? I think it is something like: > > > 1. In the main GHC repo, on branch wip/T21623 > 1. git fetch > 2. git rebase origin/master > > 2. In utils/haddock, > 1. identify the set of patches P1..Pn between the trunk and my haddock > tip, the changes that I need to haddock. > 2. Somehow check out the haddock commit K that corresponds to > origin/master > 3. Apply P1..Pn on top of K > 4. Force-push to origin/wip/spj-T21623 > 3. Move to the main GHC repo > 1. git add utils/haddock > 2. Create a patch for that change > 3. Push to main repo > > > But I am not sure how to do step 2.2, nor what is an efficient way to do > 2.3. > In general GHC `master` should always refer to the `ghc-head` branch in the Haddock repository.
The easiest way would be to use `git rebase`. Specifically, given a history like: W --- X --- Y --- Z <-- origin/ghc-head \ \--- A --- B <-- wip/spj-T21623 Running: git rebase origin/ghc-head while on wip/spj-T21623 will result in: W --- X --- Y --- Z <-- origin/ghc-head \ \--- A --- B <-- wip/spj-T21623 Do be sure to update your local tracking branches before doing this (using `git remote update origin`). Overall, this would look something like: $ cd utils/haddock $ git remote update origin # update local tracking branches $ git checkout wip/spj-T21623 # ensure you are on your WIP branch $ git rebase origin/ghc-head $ git push -f origin wip/spj-T21623 # push your Haddock branch $ cd ../.. $ git commit utils/haddock $ git push -f origin wip/TspjT21623 # push your GHC branch Cheers, - Ben
signature.asc
Description: PGP signature
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs