Как работать с подмодулями Git в решениях Visual Studio различной компоновки?

Мы разрабатываем с Visual Studio 2010 (на C #) и недавно перешли с SVN на GIT. Теперь мы пытаемся разделить наш репозиторий (который довольно большой - ~ 30 000 файлов) на множество репозиториев git - по одному для каждого решения. Решения используют несколько проектов, в основном это библиотеки, которые мы разрабатываем собственными силами и которые хотели бы добавить из всех решений.

Новые репозитории имеют плоскую планировку. Один подкаталог для каждого проекта (общие проекты - это подмодули). В большом старом репо проекты находятся в древовидной структуре.

Проблема возникает с внешними ссылками в подмодулях. В новых репозиториях путь к ссылочному p, roject может быть «...... libs \ someproject», тогда как в новом макете правильный путь будет «.. \ someproject».

У нас уже было несколько войн редактирования, связанных с этим, и мы больше не заинтересованы в этом.

Полуготовые решения, о которых я мог подумать:

используйте "Reference Paths" в ... csproj.user и исключите этот файл из контроля версий (должен быть переделан для каждого разработчика и после каждой очистки репозитория)

используйте ветки для каждой ситуации и пытайтесь научить всех, куда должны идти «реальные» коммиты и куда должны идти «изменения среды» (подмодули уже не самая простая концепция ...)

вставлять двоичные файлы вместо подмодулей (но как насчет разработки изменений в подмодулях? как насчет различных версий log4net?)

Кто-нибудь знает здравомыслящее решение?

Ответы на вопрос(5)

Ваш ответ на вопрос