Re: Updating haddock
Simon Peyton Jones 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
Re: Tags
Simon Peyton Jones writes: > I love emacs' tags-query-replace function, which allows me to do a > search-and-replace across an entire repo. But to do that I need a TAGS > file that, at least, lists all the Hsakell files in GHC. > > What is the approved way to construct a TAGS file for a bunch of Haskell > modules? Is this documented anywhere? > I haven't tried this recently on GHC but my first instinct would be to use hasktags [1]: $ cabal install hasktags $ hasktags --etags ./compiler At some point in the past I would have said that ideally Hadrian would be able to build such a thing. However, at this point TAGS files are slowly falling out of fashion in favor of language servers. Another way to reach a similar end would be to rather search-and-replace across all git-tracked files. However, somewhat surprisingly, a bit of Googling didn't turn up any easy way of accomplishing this. The closest I can find is [1]. Cheers, - Ben [1] https://emacs.stackexchange.com/questions/37286/find-and-replace-a-text-among-the-files-of-a-project signature.asc Description: PGP signature ___ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Re: Tags
I generally use hasktags (install via cabal-install), and you can give it a list of directories to index. I normally do it in the GHC/compiler directory, so it has just the GHC source Alan On Mon, 5 Sept 2022 at 20:51, Simon Peyton Jones < simon.peytonjo...@gmail.com> wrote: > I love emacs' tags-query-replace function, which allows me to do a > search-and-replace across an entire repo. But to do that I need a TAGS > file that, at least, lists all the Hsakell files in GHC. > > What is the approved way to construct a TAGS file for a bunch of Haskell > modules? Is this documented anywhere? > > Thanks > > Simon > ___ > ghc-devs mailing list > ghc-devs@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > ___ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Tags
I love emacs' tags-query-replace function, which allows me to do a search-and-replace across an entire repo. But to do that I need a TAGS file that, at least, lists all the Hsakell files in GHC. What is the approved way to construct a TAGS file for a bunch of Haskell modules? Is this documented anywhere? Thanks Simon ___ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Updating haddock
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. I would welcome very precise instructions. Thank you! Simon ___ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Re: CI failures
Ben Gamari writes: > Simon Peyton Jones writes: > >> Matthew, Ben, Bryan >> >> CI is failing in in "lint-ci-config".. >> >> See https://gitlab.haskell.org/ghc/ghc/-/merge_requests/8916 >> or https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7847 >> > I'll investigate. > I believe this should be fixed by !8943. Perhaps you could try rebasing on top of this? 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
Re: CI failures
Simon Peyton Jones writes: > Matthew, Ben, Bryan > > CI is failing in in "lint-ci-config".. > > See https://gitlab.haskell.org/ghc/ghc/-/merge_requests/8916 > or https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7847 > I'll investigate. 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
CI failures
Matthew, Ben, Bryan CI is failing in in "lint-ci-config".. See https://gitlab.haskell.org/ghc/ghc/-/merge_requests/8916 or https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7847 What's up? Simon ___ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs