Abbiamo ereditato un'applicazione composta da piccole API Web .NET. Ogni API ha il proprio SLN di Visual Studio e git repo. Tutte le API sono pubblicate in una cartella ("Tutte") e tale cartella è ospitata su IIS con ciascuna API come applicazione separata sullo stesso sito Web e pool di app. La cartella con le API pubblicate ha anche un repository git.
L'unica eccezione è "CommonOps", che è una libreria di classi condivisa da tutte le altre API. La DLL è pubblicata in una cartella comune.
Tutto funziona per la maggior parte, e non voglio creare lavoro non necessario (o aggiornamento per motivi di aggiornamento).
Il problema è quando troviamo un bug. Ad esempio, se qualcosa nel CommonOps ha bisogno di essere aggiornato, dobbiamo creare un ramo in entrambi, CommonOps e il repository "Tutti". Quindi pubblica il CommonOps aggiornato (richiama richiesta e unisci), su "Tutto", quindi richiama richiesta e unisci "Tutto". Se altre persone lavorano su "Tutto" contemporaneamente, le richieste di pull possono portare a conflitti di merge in maratona.
Quale sarebbe l'approccio migliore per unificare l'intero lotto in un unico repo, o dovrei lasciarlo abbastanza bene da solo? In quest'ultimo caso, quale sarebbe la soluzione migliore per un flusso di lavoro quando è necessario modificare una delle API?