2012-12-24 13 views
8

Ich versuche, ein SVN Repo zu konvertieren git mit reposurgeon. HierKonvertierung von SVN Repo zu Git mit Reposurgeon

ist das, was ich habe (eine repo.map-Datei, die den SVN-Namen hat -> git Name Mapping):

svnadmin dump /home/subversion > repo.svn 
reposurgeon "verbose 1" "repo.svn" "authors read" "write repo.fi" 

reposurgeon läuft für viele Stunden (viel Swapping, da es ein 12GB-Dump Datei), und alles sieht gut aus. Hier ist der Ausgang, den ich bekomme:

reposurgeon: verbose 1 
    reposurgeon: from repo.svn...copynodes+filemaps+copysets+commits+branches+parents+root+branchlinks+svn-mergeinfo+tagifying+tagify-empty+polishing+canonicalizing+resets+debubbling+renumbering+14163 revisions (1/s)...(9810.18 sec) done. 
reposurgeon: r13: deleting parentless zero-op commit. 
. 
. 
. 
reposurgeon: r13726: deleting parentless zero-op commit. 
    2012-12-24T01:16:23Z * repo.svn 

An dieser Stelle sitzt Reposurgeon nur. Ich bin mir nicht sicher, wo ich an dieser Stelle nach einer Lösung suchen soll, da es mir nie eine Fehlermeldung gibt. Irgendwelche Vorschläge sind sehr willkommen.

+0

Sie sollten versuchen, irgendwo zu fragen ESR hängt wie IRC. Das sieht nach einer Menge Commits aus. Vor kurzem hat er einige Leistungsoptimierungen eingeführt, die Sie interessieren könnten. – mikewaters

+0

@DanielJacobs: Haben Sie versucht, den Job interaktiv auszuführen? Ich habe subtile Diskrepanzen zwischen dem Ausführen von Befehlen in der Befehlszeile und einem Skript festgestellt. Ich benutze auch die interaktive Eingabeaufforderung, um mein Lift-Skript zu entwickeln. – 0xC0000022L

Antwort

-1

Ich wählte stattdessen git-svn, wenn Sie eine Alternative zu Reposurgeon betrachten würden.

3

Wenn Sie eine Alternative zu Reposurgeon und git-svn in Erwägung ziehen würden, werfen Sie einen Blick auf SubGit.

$ subgit configure /home/subversion 
#edit /home/subversion/conf/subgit.conf to set 'core.authorsFile' option to path to "repo.map" file 
$ subgit install /home/subversion 
$ subgit uninstall --purge /home/subversion 

Das konvertierte Repository wird in /home/subversion/.git Verzeichnis sein. Als Bonus haben Sie alle svn: ignore und svn: eol-style-Eigenschaften in ihre Git-Analogie umgewandelt.

Normalerweise ist das SVN-Repository ungefähr 4x kompakter als eine entsprechende Speicherabbilddatei, daher kann die Konvertierung des ursprünglichen Repositorys schneller als die dumpbasierte Konvertierung sein.

6

Es wurde erfolgreich das Repository importiert, aber dann wird der Befehl authors read verarbeitet, aber Sie haben keine Datei angegeben. An dieser Stelle wartet es tatsächlich darauf, dass die Datei auf der Standardeingabe erscheint. Verwenden Sie authors read <author-map Dabei ist Author-Map der Name der Datei, die die Karte enthält.

Sie sollten den Schreibbefehl aus ähnlichen Gründen auch in write >repo.fi ändern.

+0

Wie bekomme ich eine solche Autor-Map? – rubo77

+0

Die Autor-Map ist nur eine Textdatei, die Sie erstellen und die Zeilen enthält, die wie folgt aussehen: "ferd = Ferd J. Foonly <[email protected]> -0500". – db48x