Softwareinstallation

  1. Installation/Aktualisierung von msysgit (siehe https://git-for-windows.github.io/)
  2. Installation von Ruby (siehe http://rubyinstaller.org/)

  3. Installation von svn2git in der Windows Kommandozeile (cmd):

     

    gem install svn2git

Durchführung

Anlegen einer authors.txt nach dem Format:

 

svnuser1 = gituser1 <email1>
svnuser2 = gituser2 <email2>

Beispiel:

 

ab123456 = Peter Mustermann <peter@mustermann.de>
cd123456 = John Doe <john.doe@gmx.de>

Starten einer Git Konsole (C:\Programme\Git\git-cmd.exe), darin:

 

z:
svn2git --authors Pfad\zur\authors.txt https://url_zum_repo

Für weitere Kommandozeilenoptionen von svn2git siehe https://github.com/nirvdrum/svn2git.
Falls das SVN Repository so aufgebaut ist, dass keine tags, branches und trunks verwendet werden, sondern die Daten direkt ins Hauptverzeichnis gepusht wurden, müssen folgende Parameter verwendet werden:

 

svn2git --notags --nobranches --trunk / --authors Pfad\zur\authors.txt https://url_zum_svn_repo

Es gibt zwar den Parameter --rootistrunk, dieser kann aber nicht verwendet werden da er fehlerhaft ist.
Nachdem das SVN Repository wie oben beschrieben ausgecheckt wurde, liegt es als Git Repo vor und kann in der Form ins Gitlab gepusht werden (vorher sollte dort natürlich ein entsprechendes leeres Projekt erzeugt werden, siehe Hinzufügen des Projektes zu GitLab).

Falls ein Unterverzeichnis im Repository als trunk verwendet wurde und dieses als alleiniges GitLab-Projekt verwendet werden soll, helfen folgende Parameter:

 

Falls das Unterverzeichnis im SVN-Repository erst ab einer Versionsnummer X auftaucht, kann noch der Parameter "--revision X" verwendet werden.

Hinzufügen des Projektes zu GitLab

Zuletzt müssen die Projektdaten noch in GitLab hinzugefügt werden. Dazu muss zunächst das Projekt in GitLab über die Oberfläche angelegt werden (soll das Projekt mit mehreren Leuten genutzt werden, sollte es im Kontext einer zuvor hinzugefügten Gruppe angelegt werden). Zum Übertragen der Daten sind dann folgende Kommandos notwendig:

Die <url> kann sowohl im SSH oder HTTPS Format angegeben werden (siehe Projektübersicht in GitLab).