Actualmente mi empresa tiene una solución de Visual Studio en un repositorio SVN que está organizado de la siguiente manera:
SolutionFolder (~3.5 GB)
|-> SolutionName.sln
|-> .. Some source code folders... (~250 MB)
|-> ThirdParty (~3 GB)
|-> Tools
| -> Tool1
| -> Tool2
Tool1 y Tool2 se construyen de forma independiente (tienen sus propias soluciones), pero producen ejecutables que se usan en la compilación principal. La carpeta ThirdParty contiene todas las dependencias para el proyecto, incluidos algunos archivos .lib de más de 100 MB precompilados y bibliotecas grandes como boost.
Es conveniente tenerlo todo en un repositorio de SVN para que (1) el desarrollador tenga que hacer solo una verificación y (2) no tengamos que hacer un seguimiento de las versiones de dependencias que necesitamos para cada versión de La construcción. Por otro lado, se necesita un tiempo para revisar este repositorio.
¿Cuál sería la mejor manera de mover esta estructura de proyecto a git? Es de suponer que es mejor excluir a ThirdParty y posiblemente a las Herramientas del repositorio principal, pero nos gustaría mantener a ThirdParty fácilmente descargable en un solo paso, y nos gusta la versión (y las diferencias de versión entre el repo principal y ThirdParty / Tools serían malas).
En este punto, no estoy interesado en conservar la historia, solo en averiguar cómo organizar ese proyecto.