Push для нескольких удаленных репозиториев из одного локального репо в Mercurial - PullRequest
28 голосов
/ 03 июня 2011

Я подумывал об использовании AppHarbor для размещения облегченного веб-сайта и изучал их интеграцию с Mercurial.

В настоящее время я использую Kiln для своих удаленных репозиториев, но в настоящее время AppHarbor поддерживает только интеграцию BitBucket.

Можно ли иметь 2 удаленных репозитория для одного локального репозитория? Поэтому, когда я нажимаю коммиты из моего локального региона, они оба получают толчок?

Я никогда не хочу извлекать данные из BitBucket, а только нажимать, чтобы AppHarbor мог их захватить и развернуть.

Ответы [ 2 ]

42 голосов
/ 03 июня 2011

Вы можете установить несколько псевдонимов удаленного хранилища в разделе [paths] файла конфигурации хранилища.Этот файл находится в формате .hg / hgrc, и вы бы добавили следующие пути:

[paths]
default = http://kilnhg.com/repo
bitbucket = http://bitbucket.org/repo

. Затем вы бы запустили hg push bitbucket, чтобы перейти в битовую корзину, и hg push, чтобы перейти в печь, что также по умолчаниюВот.Псевдоним default - это тот, который используется, когда вы ничего не указали.Таким образом, push и pull без аргументов будут использовать предпочитаемый вами удаленный хост, kiln.

К сожалению, вы не можете выполнить команду типа hg push * для одновременной отправки на все удаленные хосты, вы должны указать каждый pushпункт назначения один за другим.

2 голосов
/ 04 июня 2011

Я не уверен, что вы можете редактировать файл hgrc в Bitbucket / Kiln. Если вы можете, вы можете сделать это автоматически. Если нет, вы можете нажать на другую локальную копию, которая затем вытолкнет и Bitbucket, и Kiln, используя Hooks. См. этот ответ по тонне (включен для удобства ниже):

На вашем центральном сервере вы создаете крючок для смены группы.

Так что ваш центральный сервер будет иметь следующий hgrc:

[paths]
server2=http://server2
server3=http://server3
[hooks]
changegroup.server2 = hg push -f server2
changegroup.server3 = hg push -f server3

Вы можете иметь несколько крючков для то же самое событие, так что это не должно быть вопрос. Преимущество группа изменений перехватить набор изменений Хук в том, что он запускается гораздо реже.

...