Proyecto dependiente de otro proyecto de múltiples fonts

Así que tengo un proyecto A, que usa el proyecto B. Así que seguí y marqué B como un subtree para el proyecto A y fusioné los cambios de B a A cada vez. También hay un proyecto que quiero usar llamado C, C es también un subtree del proyecto B. Pero lo que me gustaría hacer es agregar C como un subtree de forma independiente en mi proyecto y tampoco tener 2 copys de la base de código de C en el proyecto A. ¿Cómo puedo resolver esto? Cualquier ayuda será apreciada. Gracias.

El problema con el subtree es que C es parte del historial B.

Si puede hacer reference a un B sin C como un subtree, entonces puede ir a la ruta del submodule:

  • agregue C como un submodule a A
  • agregue C como un submodule a B
  • asegúrese de que A y B hacen reference al mismo C SHA1
  • actualice solo la C de A (actualización del submodule git) para get solo una fuente C.

La idea es:

  • mantener dos references a C (para detectar una posible discrepancia entre la C utilizada por A y la utilizada por B)
  • actualice solo uno de los dos submodules C.