Möchte man sein Google Code Subversion Repository mit der kompletten History in ein Git Repository umwandeln so ist das erstaunlich einfach. Im ersten Schritt sollte man die Project committers unter Adminster -> Project Members entfernen (sicher ist sicher). Dann sollte unter Adminster -> Source der Repository Typ auf Git gestellt werden.
Hier wird dabei ausgegangen das die Projektstruktur in etwa so aussieht:
branches
tags
trunk
Zuerst legt man im Homeverzeichnis eine Datei namens .netrc an und füllt sie mit folgendem Inhalt:
machine code.google.com login password geheim
Den genauen Inhalt erfährt man dabei auch wenn man auf die Google Code Seite https://code.google.com/hosting/settings geht. Bevor es weitergeht installiert man mittels:
apt-get install git-svn
das Paket git-svn. Dieses Paket ist dabei für den Großteil der Konvertierung zuständig. Nun öffnet man ein Terminal und gibt dort folgendes ein (der Projektname muss natürlich angepasst werden):
git svn clone --stdlayout https://invertika.googlecode.com/svn invertika cd invertika git remote add googlecode https://code.google.com/p/invertika git push --all googlecode
Anschließend fügt man die Project committers wieder hinzu und kann nun mit dem Git Repository arbeiten. Problematisch ist allerdings, das das Push Limit 500 MiB beträgt. Größere Repositories kann man damit nicht ohne weiteres pushen.
Weitere Informationen gibt es unter:
http://code.google.com/p/support/wiki/ConvertingSvnToGit
http://code.google.com/p/support/issues/detail?id=5790
http://code.google.com/p/support/issues/detail?id=5816
http://code.google.com/p/support/wiki/GitFAQ