migrar de subversion a git a-la-GNOME

Avui al final m’he decidit a fer la migració d’algunes coses que tenim encara a la feina que estan amb subversion i passar-les a git.

Ja feia uns dies havia trobat una petita guia per fer la migració ((De fet ja ho havia comentat per identi.ca :D)), però avui quan m’hi he posat m’he trobat que no em funcionava tal com jo volia.

No és que el repositori de git no el deixés funcionant correctament, sinó que com que tot i que sigui un scm descentralitzat tenim un servidor on hi ha el codi, etc etc no deixava el repositori en el mateix format.

Després de donar-hi unes quantes voltes m’he adonat que el que estava intentant fer era migrar de subversion a git amb els mateixos propòsits i casos d’ús que el GNOME, així que després de buscar una mica he arribat a la guia de migració del GNOME que m’ha portat a una pàgina personal en el wiki del GNOME on s’explica com fer el canvi de format dels repositoris.

I ara sí, ja puc clonar els repositoris del servidor amb total llibertat :)

Pels curiosos, aquest és l’script que he utilitzat (un mix de les dues solucions apuntades abans):

mkdir NOM-REPOSITORI.git
cd NOM-REPOSITORI.git
git –bare init
git –bare svn init https://servidor.codi.org/subversion/REPOSITORI –no-metadata
git config svn.authorsfile /git/users.txt*
git –bare svn fetch

* S’ha de crear un fitxer amb una línia per autor a l’estil: nom.usuari = Nom Real <correu@electronic.org>

P.D. Tot buscant informació sobre la migració i tot plegat he arribat a una entrada d’un bloc on hi havia la frase “You don’t branch because you don’t use git” ((No crees branques perquè no utilitzes git)) i la veritat és que té molta raó la frase, el canvi de subversion a git, entre moltes d’altres millores és que hi ha gestió de branques i no una simple recreació d’arbres de directoris sense cap mena de control per part del sistema de control de versions, a veure com em va!