Как настроить проекты / решения Visual Studio в репозитории Mercurial? - PullRequest
14 голосов
/ 22 мая 2010

В моей компании есть несколько различных веб-приложений, у каждого из которых есть общие библиотеки. Настройка 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 сделать это для меня?

Какие-нибудь другие советы, чтобы сделать этот процесс проще?

1 Ответ

1 голос
/ 17 ноября 2011

В идеале, я бы использовал ртутные подкаталоги , чтобы сделать это.Затем вы можете поместить свое «все» решение в основные репозитории.Остальные ваши проекты могут быть частью этого.Mercurial также поддерживает рекурсивные субпозитории.

К сожалению, TortoiseHg перечисляет только элементарную поддержку субпозитариев , поэтому вам, возможно, придется принять решение о том, как вы предпочитаете их настроить.

Если субрепозиторы слишком обременительны, у вас все будет в порядке, если вы поместите все в один репозиторий.Что касается Mercurial, то все равно, делите ли вы вещи в репозитории или нет.Единственным ограничением является ваша ситуация.Если проекты оказываются настолько большими или слишком частыми, например, управление хранилищем становится слишком большой болью.

Или разбить все на отдельные репозитории и написать скрипт.Это полностью зависит от вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...