Git mit SVN Master unter Eclipse

Got Git?Ächtz – das war eine schwere Geburt.

EGit / JGit ist leider noch nicht sehr ausgereift.

In der Eclipse ein Projekt mit Git zu verheiraten, das als Master Repository Subversion verwendet ist nur über Umwege möglich. Inzwischen habe ich einen ausgetüftelt, nachdem ich diesen Artikel von Anthony Panozzo gefunden habe. Hier meine Anleitung:

  1. In der Eclipse ein neues leeres Projekt vom gewünschten Typ anlegen mit dem richtigen Namen, den es später haben soll. (File -> New -> Project...)
  2. Das Projekt zu einem Git Projekt machen (Team -> Share Project... -> Git -> Create... -> Finish)
  3. Falls es das Projekt in Subversion noch nicht gibt, dort ebenfalls erstellen, inkl. trunk/branches/tags Layout (z.B. mit der Eclipse SVN Repository Exploring Perspektive, falls man das Subversive Plugin installiert hat, ansonsten mit SVN Kommandozeile irgendwo außerhalb des Eclipse Workspaces machen so wie bei Anthony beschrieben)
  4. Eclipse schließen
  5. Das Projektverzeichnis aus dem Eclipse Workspace verschieben, z.B. nach /tmp
  6. Folgende Kommandos in der Shell der Wahl ausführen:
    ~/workspace$ git svn clone [svn-repo-uri] -s
    ~/workspace$ cd [projektname]
    ~/workspace/[projektname]$ git branch -a
  7. Dann aus /tmp/[projektname] alles kopieren außer dem .git Verzeichnis.
  8. Wenn man nicht will, daß spezielle Eclipse Dateien (z.B. .project und .settings/*) in das Repository wandern, eine Datei [projektname]/.gitignore hinzufügen und dort je Zeile einen Eintrag machen.
  9. Danach folgendes ausführen:
    ~/workspace/[projektname]$ git add .
    ~/workspace/[projektname]$ git commit -m "Initial checkin"
    ~/workspace/[projektname]$ git svn fetch
    ~/workspace/[projektname]$ git svn dcommit --dry-run
    ~/workspace/[projektname]$ git svn dcommit
  10. Eclipse wieder öffnen und auf dem Projekt einen Refresh ausführen

Das sollte es gewesen sein. Wenn ich jetzt nichts vergessen und Ihr nichts falsch gemacht habt, habt ihr jetzt ein Eclipse Projekt, daß mit Git und Subversion verheiratet ist.

Um die Änderungen ins Subversion Master Repository zu pushen muß man von jetzt an natürlich auf der Kommandozeile git svn dcommit ausführen, von der Eclipse aus läßt sich das nicht bewerkstelligen.

Leider gibt es im MacPorts noch kein git-svn Paket, das ganze funktioniert also nur auf Linux.

@Anthony: Indeed it helped a lot! Thank you very much!