SVN nach Git konvertieren

Subversion (SVN) und Git sind zwei Werkzeuge zur Versionsverwaltung von Dateien. Soll jetzt ein bestehendes SVN Projektarchiv (engl. repository) in ein Git Repository konvertiert werden, kann dies zum Beispiel mit git-svn sehr leicht und schnell gemacht werden.

Zuerst muss ein neues Git Respository angelegt werden, welches später als Ziel für die Umwandlung genutzt wird.

Danach können mit Hilfe des Tools git-svn die Dateien aus dem bestehenden SVN Repository "ausgecheckt" werden.

$ git svn clone -s URL_DES_REPOSITORY LOKALES_VERZEICHNIS

Anschließend ist es möglich die "ausgecheckten" Dateien direkt wieder in das neu angelegte Git Repository "einzuchecken".

$ cd LOKALES_VERZEICHNIS
$ git remote add origin ssh://nutzer@host.de/var/git/mein_git
$ git push origin master

Im Moment wird durch git-svn jede Log-Nachricht mit ein paar Zusatzinformationen versehen. Dies kann mit der Option --no-metadata verhindert werden.

Zusätzlich gibt es noch die Möglichkeit die Nutzernamen des SVN Repository in git Nutzer umzuwandeln. Dazu muss eine Dateien angelegt werden, die folgende Struktur aufweisen muss.

max = Max Mustermann <max@example.com>
min = Min Mustermann <min@example.com>

Wurde diese Datei angelegt, so muss git-svn mit der Option --authors-file mitgeteilt werden, wo sie sich befindet. Dies könnte dann wie folgt aussehen.

$ git svn clone --authors-file=datei_mit_nutzern -s URL LOKALES_VERZEICHNIS

Verwandte Artikel