Complex cross-repo dependencies sometimes cause wiki creation to fail
Complex cross-repo dependencies sometimes cause wiki creation to fail. @catrope ran into this and described this scenario to me in person at the Tallinn Hackathon.
Imagine that you have a chain of commits in e.g. mediawiki/core:
C1 -- C2 -- C3
…and a similar chain of commits in another repository, e.g. mediawiki/extensions/Foo:
E1 -- E2 -- E3
…where E3
has a Depends-On line pointing to C3
, and E2
has a Depends-On line pointing to C2
.
When building the wiki for the patch E3, Patchdemo apply the extension patches, then try to apply both of the patches from the Depends-On lines to core. Applying C3 with its dependencies will work; then it will try to apply C2, which will fail with a merge conflict, because both C2 and C3 have been already applied. (Unless you're lucky and the commits don't touch any of the same files.)