Das kommt darauf an: Wollen Sie in Zukunft mit Subversion zusammenarbeiten?
Wenn nicht, sollten Sie manuell eine Verzweigung in git für jede Verzweigung in branches
erstellen und den Inhalt dieses Zweigverzeichnisses bis zur obersten Ebene verschieben. Das gibt Ihnen ein Commit zu arbeiten, und git's Umbenennungs-Tracking sollte bedeuten, dass der Blick auf die Geschichte ziemlich gut funktioniert. Wenn Sie Tags verwenden möchten, können Sie auf ähnliche Weise für jedes Tag eine Verzweigung erstellen, diese markieren und dann die Verzweigung löschen.
Das ist nicht schön, aber es sollte praktikabel sein.
Weitere Arbeit wäre, git filter-branch
zu verwenden, um den Verlauf der einzelnen Zweige, die Sie gerade erstellt haben, auf dieselbe Weise neu zu schreiben, wie Sie den Tipp neu geschrieben haben. Dies sollte Sie mit einem Repository verlassen, das korrekt aussieht. Sie würden jedoch immer noch keine Subversion-Integration erhalten, und Sie müssten herausfinden, wie Sie mit dem ursprünglichen Verzweigungspunkt umgehen.
Viel mehr Arbeit wäre herauszufinden, wie git svn
seine Metadaten speichert und das Repository (wahrscheinlich wieder mit git filter-branch
) entsprechend transformiert - alle Daten sollten da sein :).
nicht die einzige Option, sondern die einfachste. Wenn Sie die git-svn-id-Zeile umschreiben und rev_map löschen, kann git-svn sie für Sie neu erstellen. –