
Hello devs, 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 least tolerable: 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 Haddock submodule 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, Vladislav