Ad esempio, ho più progetti che condividono alcune librerie comuni:
- ProjectA
- CommonLib1
- CommonLib2
- ProjectB
- CommonLib1
- CommonLib2
Al momento, sono tutti in un unico grande repository:
- ProjectA
- ProjectB
- CommonLib1
- CommonLib2
Tuttavia, penso che sia meglio avere un repository per ProjectA
e ProjectB
. Ma come dovrei gestire le mie librerie comuni? Un repository comune?
Il problema che ho con un repository comune è: non è sincronizzato con il repository del progetto specifico.
E.g: voglio ripristinare ProjectA
. Non compilare. Ora ho bisogno di ripristinare CommonLib2
. Check in. ProjectB
non si compila più, poiché usa metodi, che CommonLib2
non ha più.
Il mio problema principale è: come posso mantenere il progetto specifico e il progetto comune nella sincronizzazione?
Al momento utilizzo TFS VC. Se non c'è una buona risposta, sarebbe per un altro VCS (ad esempio git)?