Diese Mini-Anleitung ist nur etwas für Leute, denen die Überschrift etwas sagt. Für alle anderen: Geduldet Euch; ich werde in nächster Zeit voraussichtlich einen umfassenderen Artikel zu Mercurial und (D)VCS im allgemeinen verfassen.

Also, zunächst einmal: Mercurial bringt bereits ein Kommando mit, um von einem SVN (Subversion), CVS oder Git Repository alle Daten, inklusive der kompletten Historie, in ein Mercurial Repository konvertieren zu können. Der Befehl heißt schlicht "convert", ist jedoch standardmäßig deaktiviert und steht als Extension zur Verfügung. BTW: Eine Übersicht über (de-)aktivierte Extensions bekommt ihr, wenn Ihr einfach folgende Hilfe aufruft:

hg help extensions

In dieser Ausgabe wird an sich das folgende auch bereits erklärt. Zudem ist hier die Zeile zu "convert" interessant:

convert  Importiert Änderungssätze von anderen Versionsverwaltungssystemen nach Mercurial

Genau was wir wollen also!
Man aktiviert diese Extension, indem man in "seiner" (\~/.hgrc) oder der globalen Mercurial Konfigurationsdatei folgende Zeilen einträgt:

[extensions]
convert =

Kein Fehler: Da kommt in der Tat nichts hinter das "=".

Nun kann man beliebig viele Repositories ganz einfach konvertieren, indem man die HTTP-URL eingibt, oder das lokale Quell- und Zielverzeichnis. Letzteres folgt als Beispiel:

#> hg convert python_spielwiese ../../hg/repos/python_spielwiese
Initialisiere Ziel-Projektarchiv ../../hg/repos/python_spielwiese
Durchsuche Quelle...
Sortiere...
Konvertiere...
1 Initial Import
0 Initial PyDev Checkout

Wie man sieht, übernimmt das Programm die komplette commit-History; in diesem Fall nur 2.
Easy Peasy :)

Teilen per: TwitterEmail


Comments

comments powered by Disqus