Как я могу организовать / использовать Mercurial в многопользовательской, не сетевой среде? - PullRequest
1 голос
/ 10 ноября 2009

У моей команды есть локальная сеть разработки, которая физически не связана ни с какой внешней сетью. Это договорное обязательство, и его НЕЛЬЗЯ избежать. Мы также должны координировать свою деятельность с командой, которая находится на полпути по всей стране и, как предполагалось ранее, не имеет прямого сетевого подключения к нам. Наш единственный метод передачи данных включает в себя копирование данных на USB-диск и отправку по электронной почте / ftp / и т.д.

ПРИМЕЧАНИЕ. Давайте не будем обсуждать проблему с сетевым подключением или очевидный недостаток безопасности при доступе к USB-диску. Эти вопросы не подлежат обсуждению.

Мы все еще убеждаем внешнюю команду использовать Mercurial (в настоящее время не используют ЛЮБОЙ SCM). Предположим, что до конца этого вопроса они используют Mercurial. Мы собираемся заставить их руку в любой день.

Мы перешли на Mercurial в надежде на то, что сможем использовать распределенную природу для лучшей синхронизации с внешней командой. Внутренне мы используем Mercurial так же, как центральный сервер SCM. Каждый разработчик клонирует из главного репо на вашем интеграционном сервере. Изменения выдвигаются / вытягиваются из этого центрального местоположения.

Здесь содержится фактическое содержание вопроса:

Каков наилучший способ сообщить об изменениях удаленной команде (при условии, что они используют аналогичную настройку Mercurial для нас)? Должен ли я иметь локальное главное репо для локального push / pull) и локальное репо для удаленного push / pull? Как лучше всего избежать сложных проблем слияния, которые могут возникнуть? Если мы используем пакеты Mercurial для отправки изменений, кто будет выполнять слияния и с каким репозиторием?

1 Ответ

2 голосов
/ 10 ноября 2009

Вы можете использовать его точно так же, как если бы вы были в сети.

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

После этого вы решаете, что хотите, выполняя слияния на своей стороне или на их стороне, это не имеет значения.

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