Мы разрабатываем с помощью Visual Studio 2010 (на C #)и недавно мигрировал с SVN на GIT. Теперь мы пытаемся разделить наш репозиторий (, довольно большой-~30 000 файлов), на множество репозиториев git -, по одному для каждого решения. Решения имеют общие проекты, в основном библиотеки, которые мы разрабатываем сами-и которые мы любим добавлять из всех решений.
Новые репозитории имеют плоскую структуру. Один подкаталог для каждого проекта (Общие проекты являются подмодулями). В большом старом репо проекты имеют древовидную структуру.
Проблема возникает с внешними ссылками в подмодулях. В новых репозиториях путь к указанному проекту может быть ".......libs\someproject", тогда как в новом макете правильный путь будет "..\someproject".
У нас уже было несколько войн правок по этому поводу, и мы не заинтересованы в дальнейших.
Наполовину-готовые решения, о которых я мог подумать:
использовать «Пути ссылок» в...csproj.user и исключить этот файл из контроля версий (необходимо переделывать для каждого разработчика и после каждой очистки репозитория)
используйте ветки для каждой ситуации и старайтесь учить всех, куда должны идти "настоящие" коммиты и куда должны идти коммиты "изменения-среды" (субмодули уже не самая простая концепция...)
вставлять бинарники вместо подмодулей (, а как насчет разработки изменений в подмодулях? как насчет разных версий log4net?)
Кто-нибудь знает нормальное решение?