Что делать с подмодулями Git в решениях Visual Studio с другим макетом?

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

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

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

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

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

  • использовать «Пути ссылок» в...csproj.user и исключить этот файл из контроля версий (необходимо переделывать для каждого разработчика и после каждой очистки репозитория)

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

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

Кто-нибудь знает нормальное решение?

9
задан plaugg 2 March 2012 в 17:05
поделиться