Как я могу организовать / использовать Mercurial в разнесенной, не связанной с сетью среде?

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

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

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

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

Вот собственное содержание вопроса:

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


person basszero    schedule 10.11.2009    source источник


Ответы (1)


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

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

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

person tonfa    schedule 10.11.2009
comment
Имеет смысл, я, скорее всего, приму это через пару дней. Надо дать другим шанс;) - person basszero; 10.11.2009