Updating haddock
Ben Gamari
ben at smart-cactus.org
Mon Sep 5 20:29:42 UTC 2022
Simon Peyton Jones <simon.peytonjones at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20220905/2d6ca11b/attachment.sig>
More information about the ghc-devs
mailing list