SVN zu GIT

Ein diffiziles Thema in der Softwareentwicklung ist stets die Versionsverwaltung. Bisher habe ich hierfür Subversion benutzt, welches eine recht gute Kontrolle über verschiedene Versionen eines Projekts und der darin enthaltenen Quellcodes erlaubt.

Ein wesentlicher Nachteil dabei ist, dass man in der Regel einen Server braucht, auf dem die Projektarchive liegen.

Nun gibt es schon seit einiger Zeit Git, und es erfreut sich zunehmender Beliebtheit. Man kann damit einfacher branchen, ist nicht auf eine Server-Client-Architektur angewiesen und kann ggf. dennoch super mit anderen kollaborieren.

Das machte mich neugierig, und seit etwa zwei Monaten verwende ich Git für neue Projekte. Mittlerweile hat es mich überzeugt und ich habe deshalb beschlossen, meine alten Projekte ebenso auf Git umzustellen.

Doch wie macht man aus einem Projekt innerhalb eines Subversion-Repositories ein Git-Repository?

Das ist eigentlich ganz einfach und wird (für Linux) im Folgenden erklärt.

Nehmen wir an, es gäbe ein Projekt Kutulu unter http://svn.example.com/repo/projekte/kutulu, welches wir in ein Git-Repository überführen wollen.

Ggf. kann es nötig sein eine Datei anzulegen, die die Zuordnung der SVN-Benutzer zu den Git-Nutzern beschreibt.

  1. git-svn installieren. Ist bei allen aktuellen Linux-Distributionen einfach über die Softwareverwaltung möglich.
  2. Ziel-Ordner, in den die Projektdaten importiert werden sollen, erzeugen und hinein wechseln:
    $> mkdir kutulu
    $> cd kutulu
  3. dann mit dem Befehl git svn init --username samsa http://svn.example.com/repo/projekte/kutulu das zukünftige Projektverzeichnis initialisieren. Hierbei ist "samsa" durch den Benutzernamen, mit dem auf das SVN zugegriffen werden soll, zu ersetzen.
  4. das eigentliche Abholen der Daten inklusive der Versionshistorie geschieht mittels git svn fetch.

Fertig!

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.