2010-04-19 11 views

Antwort

36

Sie können ein Tool wie hg-git verwenden:

  • Setup ein Git-Repository irgendwo, dass Sie Push-Zugriff haben,
  • und dann hg push [path] aus Ihrem Projekt. Zum Beispiel:
$ 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 

Dies wird alle unsere Mercurial Daten in Git-Objekte umwandeln und schieben Sie sie auf die Git-Server auf.
Sie können diesen Pfad auch in den Abschnitt [paths] von .hg/hgrc eingeben und dann mit dem Namen darauf klicken.

hg-git

+0

Danke. Ich habe einen kurzen Blick auf hg-git geworfen, aber ich sehe, dass es immer noch in einem Alpha-Zustand ist. Ich habe versucht, es in Cygwin zu installieren, aber ich habe momentan Probleme mit der Stabilität. Vorausgesetzt, dies funktioniert, ist es definitiv ein nützliches Werkzeug im Workflow. – Santa

11

Wenn Sie Mercurial für ein Projekt verwenden, können Sie schnell und einfach einen git Spiegel Ihres Projekts machen, so dass git Anwender beitragen können. Ich habe ein Tutorial über die Verwendung von hg-git zur Verwaltung von Mercurial-Spiegeln auf GitHub erstellt.

Hier erfahren Sie, wie Sie mit einem GitHub-Konto beginnen, ein Projekt von Mercurial nach GitHub hochschieben und Beiträge (Pull-Anfragen) von GitHub annehmen können. Hier ist ein Link zum Blog-Beitrag: http://hgtip.com/tips/advanced/2009-11-09-create-a-git-mirror/

6

Stand Juli 2013 gibt es BitSyncHub einen Web-Service für die Automatisierung dieses Prozesses über einen BitBucket Post-Empfangs-Haken. Sie müssen dem Dienst jedoch Schreibrechte für Ihr GitHub-Repository gewähren (fügen Sie Bitsynchub als Beitrag hinzu).

8

hinzufügen git-remote-hg zu Ihrem bin Pfad. Dann können Sie wie mentioned on github Spiegeln.

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

dann gehen Sie in Ihr geklonten Repo

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

schließlich synchronisieren Sie Ihren Spiegel

git fetch -p origin 
git push --mirror 
+1

Dies ist viel besser als die angenommene Antwort, da das Ergebnis ein echter Spiegel mit allen Tags und Verzweigungen sein wird. – Kentzo

Verwandte Themen