Come controllare le librerie comuni di versione? [duplicare]

1

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)?

    
posta Christian Gollhardt 01.11.2018 - 05:14
fonte

1 risposta

3

Un approccio semplice consiste nel trattare CommonLib * come dipendenze esterne - generarne le distribuzioni, archiviarle in un repository separato e copiarle, se necessario, negli elementi di impiego di Project *. In questo modo, quando (non se) ProjectA inizia a seconda di una versione diversa da ProjectB, è possibile collegare facilmente ciascuna di esse alle versioni specifiche di CommonLib * che supportano.

    
risposta data 01.11.2018 - 05:28
fonte

Leggi altre domande sui tag