...
Once we have split out the app directory, plugins and themes we then need to figure out how to keep the app directory, plugin and theme folders in sync
There are a few tools out there that we could potentially consider:
https://github.com/dflydev/git-subsplit
Not sure if this is what we are after - it mentions a subtree split. Need to read more.
Allows you to do the subsplit and maintain thereafter
One-way read only sync
Allows you to specify the heads/tags to be updated if you don’t want to auto-detect
Seems to be abandonware - 4+ years since last update and multiple open issues/PR’s
https://github.com/ryanwinchester/subsplit-service
Allows you to do the subsplit and maintain thereafter
Composer-based install
Also supports webhooks if we need to use them
Seems to be abandonware - 5+ years since the last update
https://github.com/splitsh/lite Symfony uses this
Github Actions
https://github.com/drud/action-cross-commit this may work as a GitHub Action - we would need to work out what directories are being updated in the merged PR and push those directories to the correct repos using some kind of dynamic folder magic 🧙♀️
https://github.com/s0/git-publish-subdir-action may also be an option (we would have to set up each folder and match it with the correct repo) - maybe run an ‘if files have changed’ check beforehand to only push changes if there are changes?
...