В моей компании есть несколько различных веб-приложений, у каждого из которых есть общие библиотеки. Настройка Visual Studio выглядит следующим образом.
Website 1 Solution
Website 1
Shared Library 1 Project
Shared Library 2 Project
Website 2 Solution
Website 2
Shared Library 1 Project
Shared Library 2 Project
Windows Service Solution
Windows Service Project
Shared Library 1 Project
Shared Library 2 Project
Shared Library Solution
Shared Library 1 Project
Shared Library 2 Project
All Projects Solution
Website 1
Website 2
Windows Service Project
Shared Library 1 Project
Shared Library 2 Project
Мы хотим начать использовать Mercurial для контроля версий, но я все еще не уверен, что это лучший способ сделать это.
Из того, что я прочитал, вы должны использовать отдельный репозиторий для каждого проекта. Там нет проблем, но куда деваются файлы решения Visual Studio (.sln)? Должен ли быть отдельный репозиторий только с файлом .sln?
В идеале все проекты, использующие разделяемые библиотеки, должны использовать одну и ту же версию, а решение «All Projects Solution» должно быть построено без ошибок, но иногда нам нужно разветвлять разделяемые библиотеки. Каков наилучший способ сделать это и как будут настроены репозитории?
Как получить рабочую копию определенной ветви / тега решения Веб-сайта 1, когда каждый проект находится в отдельном репозитории. Нужно ли тянуть каждую из них по отдельности или написать сценарий, чтобы сделать все сразу? Может ли черепаха HG сделать это для меня?
Какие-нибудь другие советы, чтобы сделать этот процесс проще?