I am a developer on a Moodle site where we have approximately 30-40 internally-developed custom plugins (activity modules, filters, local plugins, admin tools, question types, auth, enrol, themes, blocks, etc.) and I am often working on several projects simultaneously, spanning across multiple plugins.
The problem with using a normal git branches for each feature is that different branches might contain different plugin versions, and/or DB tables, in which case, moving between branches can be problematic.
We've also decided against a seperate git repository for each plugin, due to the deployment complexity and dependencies between some of them.
However, keeping the entire Moodle site in a repository makes it absolutely massive, and we generally rebuild the repository after each Moodle version update.
I am wondering if anyone else has these types of issues, and how to work around them? I find myself frequently building new local copies of the site. Might it be necessary to set up a separate docker container (with PHP and the DB) for each feature set?
Thanks