Ich versuche svn2git zu verwenden, um ein SVN-Projekt zu git zu migrieren. Jedoch habe ich Probleme, die ganze Geschichte zu bewahren. Die Gründe scheinen darin zu liegen, dass der Kofferraum in der Vergangenheit bewegt wurde. Der Befehl ich verwende ist:Wie behalte ich den SVN-Verlauf in Git, wenn der Stamm verschoben wurde?
$ svn2git http://mysvnserver.com/myproject/iPhone/ --no-minimize-url --authors ../authors.txt
Aber das gibt mir nur die Geschichte bis 2011 zurück Das Projekt beginnt eigentlich im Jahr 2010 durch die aussehen wie diese beginnt projiziertes:
myproject
trunk
branches
tags
Aber im Jahr 2011 es wurde zu diesem geändert:
myproject
iPhone
trunk
branches
tags
Android
trunk
branches
tags
Der alte Stamm und die Zweige gingen unter das iPhone-Verzeichnis. Die Geschichte, die ich bekomme, beginnt damit, wenn dieser Zug gemacht wurde. Wenn ich svn log
im iPhone-Verzeichnis mache, bekomme ich die verkürzte Geschichte. Aber wenn ich cd trunk; svn log
dann bekomme ich die vollständige Geschichte.
Ich habe keine Ahnung, wie man diese Geschichte herausbekommt. Meine Idee war, irgendwie ein Git-Repository zu erstellen, bei dem nur die Geschichte des Stammes bis 2010 zurückreicht. Dann würde ich das später als Zweig in meinem Hauptrepo ziehen und eine Rebase machen, um die Geschichte korrekt zu machen. Aber ich hatte kein Glück, dieses Repo nur für den Kofferraum zu schaffen. Ich habe versucht:
$ svn2git http://mysvnserver.com/myproject/ --rootistrunk --authors ../authors.txt
und
$ svn2git http://mysvnserver.com/myproject/ --rootistrunk -no-minimize-url --authors ../authors.txt
ohne Erfolg.
Ich kann mich nicht mehr sehr gut an das Problem erinnern, aber ich habe dies als Antwort gewählt, weil das am nächsten kommt, wie ich das Problem gelöst habe. Ich glaube, ich habe eine ganze Reihe von getrennten Zweigen gemacht und sie dann zusammengefügt, indem ich die Geschichte betrachtet habe, wie du sie beschreibst. –