Migrare un repository da Svn a Git mantenendone la history dei commit

IMG_0372

Nel caso si voglia portare un repository svn su git mantenendone la history dei vari commit si può seguire questa procedura.

Installare git svn:

$ sudo aptitude install git-svn

Importare il trunk

Clonare con git il repo svn:

$ git svn clone -s http://url.com/myrepos

L’opzione -s va usata per specificare che il repo svn ha la struttura [trunk/branches/tags]

Creare il repository git remoto (per esempio su bitbucket o github).

Aggiungere il repository remoto:

$ git remote add origin https://ilbonzo@bitbucket.org/ilbonzo/myrepos.git

Fare push di tutto su origin:

$ git push -u --all origin

Gestione dei branches:

Lista dei branches importati da svn

$ git branch -r
FirstBranch
SecondBranch

Diciamo a git di tenere traccia di quei branch

$ git branch --track FirstBranch
$ git branch --track SecondBranch

Inviamo i branch sul repo remoto

$ git push -u --all origin

Finalmente il nostro codice è su git con tutti i vantaggi del caso.

photo by: Jon_Aquino