Ich habe mit großem Erfolg hatte git-hg
von https://github.com/cosmin/git-hg (erfordert den Arbeits installieren hg
, auch). Es unterstützt Fetch, Pull und Push und ist für mich stabiler als hg-git
(ähnliche Funktionen von hg
bis Git).
Anwendungsbeispiele finden Sie unter https://github.com/cosmin/git-hg#usage . Die Benutzeroberfläche ist sehr ähnlich git-svn
.
Dies git-hg
erfordert zusätzlichen Speicherplatz für jedes geklonte hg-Repo. Die Implementierung verwendet einen vollständigen Quecksilberklon, einen zusätzlichen Git-Bare-Klon und das eigentliche Git-Repo. Der erforderliche Speicherplatz beträgt ungefähr das Dreifache der normalen Git-Only-Nutzung. Die zusätzlichen Kopien werden unter dem .git
Verzeichnis Ihres Arbeitsverzeichnisses (oder dem Speicherort, auf den GIT_DIR
wie gewohnt verwiesen wird ) gespeichert .
Hinweis: Das grundlegende Problem, git-hg
das zu lösen versucht, besteht darin, dass zwischen git
und hg
Features keine 1: 1-Zuordnung besteht. Das größte Problem ist die Impedanzfehlanpassung zwischen Git-Zweigen und hg-unbenannten Zweigen und hg-benannten Zweigen und hg-Lesezeichen (all diese sehen für git
Benutzer sehr nach Zweigen aus ). Ein damit verbundenes Problem besteht darin, dass hg
versucht wird, den ursprünglich benannten Zweignamen im Versionsverlauf zu speichern, im Gegensatz zu git, bei dem der Zweigname standardmäßig nur zur Vorlage-Commit-Nachricht hinzugefügt wird.
Jedes Tool, das behauptet, eine interoperable Brücke zwischen diesen Impedanzanpassungen zu schaffen git
und hg
zu erklären, wie es damit umgehen soll. Sie können dann entscheiden, ob die ausgewählte Lösung Ihren Anforderungen entspricht.
Die Lösung git-hg
besteht darin, alle hg-Lesezeichen zu verwerfen und benannte Zweige in Git-Zweige umzuwandeln. Außerdem wird der Git-Master-Zweig auf den unbenannten Standard-HG-Zweig gesetzt.