Put 'haddock' in the 'ghc' repo
vladislav at serokell.io
Sat Feb 16 12:44:17 UTC 2019
There appears to be no good workflow for contributing patches that
change both GHC and Haddock.
For contributors who have push access to both repositories, it is at
1. create a Haddock branch with the required changes
2. create a GHC branch with the required changes
Then wait for the GHC change to get merged to `master`, and
3a. fast-forward the Haddock change to the `ghc-head` branch
3b. in case a fast-forward is impossible, cherry-pick the commit to
`ghc-head` and push another commit to GHC `master` to update the
Roundabout, but possible.
For contributors who do not have push access to both repositories,
each step is much harder, as working with forks implies messing with
.gitmodules, which arguably should stay constant.
To avoid all this friction, I propose the following principle:
* all SCC (strongly connected components) of dependencies must go to
the same repo.
For example, since GHC depends on Haddock to build documentation, and
Haddock depends on GHC, they must go to the same repo. This way, a
single commit can update both of them in sync.
All the best,
More information about the ghc-devs