Konvertieren eines Mercurial (hg) Repository zu Git auf Windows (7)

Ich bin wirklich sehr frustriert an diesem Punkt. Ich habe ein bestehendes hg-Repository, das Monate Monate in der Codierungsgeschichte hat, und ich möchte das in ein privates Github-Repository bringen, damit ich dort von dort aus arbeiten kann. Leider habe ich Windows und ich kann nicht scheinen, irgendeine Weise zu finden, um das Repository zu konvertieren, das ich wirklich richtig arbeiten kann. Praktisch jede Menge von Hilfe und Rat, die ich online finden kann, scheint zu vermuten, dass ich von irgendeiner Art * nix Shell laufe, was ich nicht bin.

Ich habe derzeit installiert: TortoiseHG, Python 3.1 und Git für Windows.

Was ich versucht habe:

  1. Hg-init plugin für hg – Wenn ich versuche, den gexport-Befehl (und andere von hg-git) zu benutzen, bekomme ich nur Strings von Python-Ausnahmen. Ich kann gar nicht git bekommen, um den gremote Befehl zu erkennen. Ich habe versucht, dem zu folgen, was hier war: http://github.com/blog/439-hg-git-mercurial-plugin

  2. Hg-to-git (Fast-Export) – Alle Tutorials erwarten immer, dass ich eine .sh-Datei ausführen soll. Ein weiterer Stackoverflow-Thread schien zu implizieren, dass Powershell kann .sh Dateien laufen, aber ich kann es nicht laufen lassen sie für das Leben von mir. Beispiel: http://hivelogic.com/articles/converting-from-mercurial-to-git

  3. Mercurial to git converter – http://permalink.gmane.org/gmane.comp.version-control.git/36601 – Das will man nicht arbeiten, wenn ich es über Python laufe, was beschwert, dass es einen Syntaxfehler hat Auf Linie 44. Ich kenne keine Python, also habe ich keine Ahnung.

Vier Stunden von Google suchen und waten durch nutzlose Tutorials und Leute – mehr-glücklich-als-ich singen das Lob von jedem angeblich-nützlichen Blog-Post, aber ich habe nicht überall mit diesem bekommen. Kann jemand irgendwelche Hilfe oder Anregungen für mich anbieten, um zu versuchen?

5 Solutions collect form web for “Konvertieren eines Mercurial (hg) Repository zu Git auf Windows (7)”

  1. Installiere Cygwin (mit python, hg, git)
  2. Installiere git-hg
  3. Laufen git-hg clone ...url...

Oder sag mir, was die URL für dieses hg Repo von dir ist, und ich kann es für dich umwandeln.

Es gibt viele widersprüchliche Informationen darüber, wie man Mercurial Repositories zu Git unter Windows umwandelt. Es ist wirklich ziemlich einfach und erfordert nur TortoiseHg und Git installiert werden.

Vorbereitung

Aktiviere hg-git, indem du folgendes zu deiner Mercurial-Konfigurationsdatei ( % Userprofile% \ mercurial.ini ) hinzufügst :

 [extensions] hggit = hgext.bookmarks = [git] intree = True 

Umwandlung

Navigieren Sie zu dem Repository-Verzeichnis (das das .hg- Unterverzeichnis enthält) in der Befehlszeile und führen Sie die folgenden Befehle aus:

 hg bookmark -r default master hg gexport --debug git config --bool core.bare false git reset HEAD -- . 

Mehr Informationen

Eine ausführliche Beschreibung dieser Schritte finden Sie in meinem Blogartikel zum Thema.

Hast du die Installation von msysgit berücksichtigt ? Die Git-Bash-Shell, die es gibt, sollten in der Lage sein, .sh-Dateien auszuführen.

Alles, was ich über diese Hg-Konverter für Git gelesen habe, weist auf einen offensichtlichen Fehler hin, den du gemacht hast: Mit Python 3!

Die Python-Fehler, die Sie bekommen haben, sind aufgrund von Skripten wie hg-git und schnelle-Export mit Python 2.6 gebaut. Python 3 behandelt "print" anders, also deine Fehler.

Entweder umschreibe die Skripts, um mit deiner Version zu arbeiten oder Python 2.6 zu installieren.

Vergewissern Sie sich, dass Sie es Ihrer PATH-Einstellung hinzufügen. Gleiches gilt für die Installation von msysGit. Seien Sie sicher, dass Sie die zweite Option bei der Installation wählen, um Git zu Ihrem Pfad hinzuzufügen.

Du brauchst auch Mercurial Für Python, erhältlich im TortoiseHG Thg-Winbuild-Projekt:

https://bitbucket.org/tortoisehg/thg-winbuild/downloads

Die Datei wird als 'mercurial-2.2.2.win-amd64-py2.6.exe' für 64-Bit-Windows und 'mercurial-2.2.2.win32-py2.6.exe' für 32-Bit bezeichnet. Während du dabei bist, bekommst du den Companion Mercurial 2.2.2 Installer, nur für den Fall.

Obwohl Sie angegeben haben, dass Sie noch keine weitere VCS-Software installieren möchten, muss mit einem dieser Hg-Konverter Mercurial installiert werden.

Ein weiterer Fall, auf den man achten muss, ist, dass diese Konverter nicht mit den neuesten Versionen von Mercurial arbeiten können. Vielleicht musst du ein bisschen mit älteren Versionen experimentieren, um einen zu finden, der gut mit den Skripten arbeitet.

Achten Sie darauf, sorgfältig durch die Tutorials und die Readme-Dateien für jeden Konverter Sie sich mit der Verwendung zu lesen. Es scheint eine Menge von deiner Trauer und Schwierigkeiten stammt davon, ungeduldig ins tiefe Ende gesprungen zu werden, nachdem du nur die Dokumentation überschritten hast.

Es gibt Patches, die Mercurial Unterstützung für Git und msysGit hinzufügen, aber du musst mit Patching und Kompilieren von der Quelle bequem sein, wenn du diesem Weg folgen möchtest.

Es könnte albern (oder eine Lösung für die verzweifelte …) aber ich denke, dass Bazaar hat gute Unterstützung für Hg und Git Repositories, und es funktioniert gut auf Windows.
Also, wenn alles andere fehlschlägt, vielleicht kannst du bzr-hg und bzr-git benutzen, um die konvertierung zu machen …

  • So entfernen Sie mehrere Versionen von Python aus der Windows Registry
  • Anforderung UAC-Höhe aus einem Python-Skript?
  • Senden von DDC / CI-Befehlen zur Überwachung auf Windows mit Python?
  • Kopiere mit dem Windows-Kopierdialog
  • Python sagt pygames hat kein Attribut 'init ()' aber lib ist korrekt installiert
  • Wie zeigt man ein halbtransparentes Fenster vor allen Fenstern?
  • Python-Subprozess-Modul äquivalent für den Doppelklick in Windows
  • Kastenzeichnung in python
  • Gibt es Windows analog zum Supervisor?
  • Warum Charakter '^' wird von Python Popen ignoriert - wie man '^' Charakter in Popen Windows zu entkommen?
  • Kann PhantomJS nicht mit Python in Windows 7 starten
  • Python ist die beste Programmiersprache der Welt.