Подтвердить что ты не робот

Зеркалирование проекта HG от Bitbucket до Github

Есть ли эффективный рабочий процесс для зеркалирования проекта, который в основном размещается на битбакете с использованием Hg, до github?

4b9b3361

Ответ 1

Вы можете использовать инструмент, например hg-git, чтобы:

  • настройте репозиторий Git где-нибудь, на который вы нажимаете доступ,
  • а затем запустите hg push [path] из вашего проекта. Например:
$ cd hg-git # (a Mercurial repository)
$ hg bookmark -r default master # make a bookmark of master for default, so a ref gets created
$ hg push git+ssh://[email protected]/schacon/hg-git.git
$ hg push

Это преобразует все наши данные Mercurial в объекты Git и подтолкнет их к серверу Git.
Вы также можете поместить этот путь в раздел [paths] .hg/hgrc, а затем нажать на него по имени.

hg-git

Ответ 2

Если вы используете Mercurial для проекта, вы можете быстро и легко сделать зеркало git вашего проекта, чтобы пользователи git могли внести свой вклад. Я создал учебник об использовании hg-git для управления зеркалами Mercurial на GitHub.

В нем описывается, как начать работу с учетной записью GitHub, как продвигать проект от Mercurial до GitHub и как принимать вклады (тянуть запросы) от GitHub. Здесь ссылка на сообщение в блоге: http://hgtip.com/tips/advanced/2009-11-09-create-a-git-mirror/

Ответ 3

Добавьте git-remote-hg в ваш путь к bin. Затем вы можете зеркалировать как упомянутый в github.

git clone --mirror  hg::https://bitbucket_repo

затем перейдите в свое клонированное репо

git remote set-url --push origin https://github.com/exampleuser/mirrored

наконец, синхронизировать ваше зеркало

git fetch -p origin
git push --mirror

Ответ 4

По состоянию на июль 2013 года существует BitSyncHub веб-сервис для автоматизации этого процесса с помощью бита post-receive BitBucket. Вы должны будете предоставить разрешение на запись службы в свой репозиторий GitHub (добавьте bitynchub в качестве вкладчика).

Ответ 6

Я сообщаю с февраля 2019 года. Я только что столкнулся с этой проблемой, следовал предложению @vonc использовать hg-git и выполнил несколько пропущенных шагов, чтобы заставить его работать. Здесь я приведу более подробное руководство:

  1. Установите hg-git, скопировав его хранилище и сделав так, чтобы раздел 'extensions' в вашем файле ~/.hgrc выглядел примерно так:
[extensions]
hggit = [path-to]/hg-git/hggit

Самые свежие инструкции по установке я нашел в репозитории исходного кода: https://bitbucket.org/durin42/hg-git. Так что следите за этим.

  1. Установите dulwich, если еще нет: pip install dulwich.

  2. Создайте новый пустой репозиторий на GitHub, например https://github.com/user/git-mirror.

  3. Клонируйте исходный репозиторий hg и поместите его в зеркало git:

$ hg clone https://bitbucket.org/user/hg-source
$ cd hg-source
$ hg push git+ssh://[email protected]/user/git-mirror.git

Ответ 7

Для этого вы можете использовать службу Git-hg Mirror (включая зеркалирование репозитория GitHub в Bitbucket или синхронизацию в двух направлениях).