Mercurial: отправка набора изменений в Repo A и каким-то образом в Repo B тоже есть? - PullRequest
3 голосов
/ 11 августа 2010

У меня есть репо на сервере с именем «Gold», которое существует как мое производственное репо, репо с именем «Silver» на сервере, которое действует как dev-репо, а затем, очевидно, одно или несколько репо на моем локальном клиенте.Как ни странно, когда я отправляю набор изменений со своей локальной машины разработчика в Gold, Silver также каким-то образом получает набор изменений.Мы запускаем Mercurial на Windows Server 2008R2 на IIS7.5.

Пример:

Сервер (создание Gold на сервере)

  • mkdirGold
  • cd ./Gold
  • hg init

Клиент (клон Gold для клиента)

  • hg clone http://server/Gold Dev
  • cd Dev
  • echo "Foo"> bar.txt
  • hg ci -Am "добавлен файл bar.txt"
  • hg push

В этот момент синхронизируются клиент и сервер, каждый с одним набором изменений.

Сервер (клонируйте Золото в Серебро - новый репозиторий - на сервере)

  • кд ..
  • рт. клон. / Золото Серебро

Клиент (совершить и нажать изменить на Золотой - не трогая Серебряный)

  • echo "Fizz"> buzz.txt
  • hg ci -Am "добавлен файл buzz.txt"
  • рт.ст. push

Теперь я ожидаю, что у золота будет две ревизии, а у серебра - одна.В нашей среде Gold и Silver оба имеют как-то оба набора изменений !Любое изменение, которое мы вносим в золото, автоматически отображается в серебре.Это кажется мне невероятно неожиданным - кто-нибудь сталкивался с этим раньше?

1 Ответ

1 голос
/ 11 августа 2010

Хмм.Это, конечно, не должно происходить.Есть способы, которыми вы могли бы сделать это (используя хуки), но это не должно происходить само по себе.

В случае локального клона (ваша строка hg clone ./Gold Silver) Mercurial использует жесткие ссылки под крышками, чтобысохранить на диске, но это нарушит эти ссылки при записи.

Однако в качестве теста вы можете изменить эту строку на:

hg clone --pull ./Gold Silver

, которая будет использовать больше дискового пространства, но в противном случаеидентичны.

Я не ожидаю, что это что-то исправит, но я думаю, что это хорошая точка данных.

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