Migrant de subversion a git

Si alguna vegada us heu penedit de començar un projecte amb subversion, no desespereu, hi ha una forma senzilla de passar-vos a git sense perdre el historial de canvis.

El primer pas es instal·lar el programa svn2git que ho podeu trobar al seu repositori oficial de GitHub. Els passos per instal·lar-lo estan en la mateixa pagina web del repositori però us las resumeixo breument els que he fet jo per executar-lo sobre un centos 6:

Primer instal·lem lo necessari per executar git i RubyGems.

1
# yum install git-core git-svn ruby rubygems

I a continuació instal·lem svn2git.

1
# gem install svn2git

Si no us funciona, un altre opció que podeu provar es descarregar directament svn2git del repositori i compilar-lo.

Una vegada instal·lat, si la vostra estructura es la estàndard de svn tal que aixi:

1
2
3
4
5
6
7
8
9
10
11
trunk
  ...
branches
  1.x
  2.x
tags
  1.0.0
  1.0.1
  1.0.2
  1.1.0
  2.0.0

Per migrar el vostre projecte a git nomes teniu que seguir les següents passos:

1
2
3
# git init projecte.git
# cd projecte.git
# svn2git http://url_del_repositori_svn --username <<usuari_de_svn>>

I una vegada finalitzat, tindreu el vostre projecte tal que aixi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# git branch
* master
# git branch -a
* master
  1.x
  2.x
  tags/1.0.0
  tags/1.0.1
  tags/1.0.2
  tags/1.1.0
  tags/2.0.0
  trunk
# git tag -l
[ empty ]

Si el vostre projecte no segueix una estructura estàndard, podeu provar a indicar-li on esta el trunk per a que comenci la importació utilitzant com a trunk, la branch indicada. Aquesta opció encara no la he provat, per lo que no se que tal funciona.

1
# svn2git http://url_del_repositorio_svn --trunk nombre_de_la_branch_trunk

En el pitjor dels casos, podeu indicar-li que ho importi tot i ell intentara fer un merge “raro” segons les dates dels commits, però jo, abans de fer aixo, intentaria migrar las branques una a una creant-les manualment en git e importar-les amb la comanda anterior.

1
# svn2git http://url_del_repositori_svn --rootistrunk

Espero que sigui d’utilitat, a mi em va anar genial en un projecte per passar-me a git, ja que en svn començava a ser ingovernable.

Deixa un comentari

L'adreça electrònica no es publicarà Els camps necessaris estan marcats amb *