Как сделать автоматическое зеркало git для репозитория hg

У меня есть плагин Vim для GoogleCode, использующий Mercurial, но пользователи хотят, чтобы он был на github, чтобы упростить его использование в качестве git subrepo (чтобы оставить ~/.vim/ на github со всеми плагинами внутри).

Лично я предпочитаю googlecode и hg, а не github и git, поэтому я не люблю переносить свой проект на github и предпочитаю использовать своего рода автоматическое зеркало git для моего репозитория hg. Я прочитал это: Hg-Git mercurial plugin, Синхронизация git mirror с hg-git и Create Git Mirror, и похоже, что с некоторой дополнительной головной болью это может работать с использованием двух команд вместо одной:

hg push
hg push githubmirror

Но, как вы знаете, большинство из нас забудет бежать вторым hg push время от времени. Итак, можно ли каким-то образом автоматизировать это (используя хуки и т. Д.)?

Другой вопрос - есть ли лучший способ сделать такие зеркала? Может, GoogleCode уже предоставляет git доступ к своим репозиториям hg? Или, возможно, возможно создать клон git для репозитория hg и автоматически синхронизировать его с оригинальным репозиторием hg, даже не уведомив об этом владельца репозитория hg?

1 ответ

Решение

Вы можете сделать что-то вроде зацепки после фиксации. Посмотрите на http://www.selenic.com/mercurial/hgrc.5.html

крючки

Команды или функции Python, которые автоматически выполняются различными действиями, такими как запуск или завершение фиксации. Для одного и того же действия можно запустить несколько хуков, добавив к действию суффикс. Переопределение хука для всего сайта можно сделать, изменив его значение или установив пустую строку. Для хуков можно установить приоритет, добавив префикс приоритета к имени хука в новой строке и установив приоритет. Приоритет по умолчанию равен 0, если не указан.

Другие вопросы по тегам