I'm working on a project and no one can agree on the best way to solve this. Basically the project uses git submodules to bring in several "library" packages. It's an obscure language/framework, no package manager ecosystem. I had nothing to do with any of this, I just happened to take over maintenance along with a few other developers of various levels of expertise.
So we have apps:
And libraries:
- LibZip
- LibZap
- LibGup
- LibGap
- LibRuf
- LibRug
- LibRuk
- LibRut
Each app only has one main branch and most of the apps use all of the libraries, with a few exceptions, such as Zoo only uses LibZip and LibRuf.
However, Foo and Bar, for example, use different versions of LibZip. So LibZip has different branches main, foo, and bar. No one can agree how to organize LibZip. Some want to use branch names, tags, separate fork repos. Some want to create new forks for each version of the app. Others want a single branch history with feature toggles (which I personally loathe).
My team happens to have one person per app, but the libraries have been the source of some friction/disagreement regarding the libraries. Has anyone here worked in a situation like this? Or does anyone know of an example I can point the team at and say "Oh, take a look at this team repo for NotActuallyWordPress and how they did it."