Atualmente, minha empresa tem uma solução do Visual Studio em um repo SVN organizado da seguinte maneira:
SolutionFolder (~3.5 GB)
|-> SolutionName.sln
|-> .. Some source code folders... (~250 MB)
|-> ThirdParty (~3 GB)
|-> Tools
| -> Tool1
| -> Tool2
A Ferramenta1 e a Ferramenta2 são compiladas de forma independente (têm suas próprias soluções), mas produzem executáveis que são usados na compilação principal. A pasta ThirdParty contém todas as dependências do projeto, incluindo alguns arquivos .lib pré-compilados com mais de 100 MB e grandes bibliotecas como o boost.
É conveniente ter tudo isso em um repositório SVN, para que (1) o desenvolvedor faça apenas um check-out e (2) não precisamos acompanhar quais versões de dependências precisamos para cada versão da compilação. Por outro lado, leva um tempo para verificar este repositório.
Qual seria a melhor maneira de mover essa estrutura de projeto para o git? Presumivelmente, é melhor excluir o ThirdParty e, possivelmente, Tools do repositório principal, mas gostaríamos de manter o ThirdParty facilmente disponível para download em uma etapa e gostamos da versão (as incompatibilidades de versão entre o repositório principal e o ThirdParty / Tools seriam ruins).
Neste ponto, não estou interessado em preservar a história, apenas em descobrir como organizar esse projeto.