Migrar repositorio SVN a GIT

GIT

Estos son los pasos para realizar la migración de un repositorio subversion a git:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Creamos el repositorio en el servidor remoto
git init --bare repos/{repo}.git   #repo es el nombre del repositorio, se ejecuta en la raiz del servidor GIT
cd repos/{repo}.git/
echo "http://example.com/proyecto.git" > cloneurl
echo "Una buena descripcion del proyecto" > description
git config gitweb.owner 'AxiaCore'
git config http.receivepack true
 
# En nuestra maquina local
# -------------------------------------
 
# Instalamos el paquete de ubuntu
sudo apt-get install git-svn
 
# Carpetas donde vamos a obtener el proyecto
mkdir migration
cd migration
 
# Inicializamos el repositorio git para svn (Sin los datos no necesarios de svn)
git svn init http://svn.example.com/myproject --no-metadata
 
# Creamos un archivo que relacione los usuarios de subversion con los de git
# Ejecutamos esto con cada usuario del repositorio
echo "camilo = Camilo Nova <camilo.nova@axiacore.com>" >> users.txt
 
# Le indicamos a git donde encontrar la relacion de usuarios
git config svn.authorsfile users.txt
 
# Obtenemos todas las revisiones de svn y las interpretamos para git (puede demorar mucho tiempo)
# Puede que se bloquee o se interrumpa porque falta algun usuario, al volver a ejecutar el comando el continua desde
# la ultima revision obtenida
git svn fetch
 
# Subimos un nivel
cd ..
 
# Clonamos el repositorio nuevamente para que sea totalmente git
git clone migration myproject
 
# Entramos al repositorio git
cd myproject
 
# Borramos la referencia local del origen del repositorio
git remote rm origin
 
# Agregamos la referencia remota del origen
git remote add origin http://example.com/proyecto.git
 
# Enviamos el repositorio al servidor remoto (puede demorar un poco)
git push origin master
 
# Verificamos que todo haya cargado correctamente
git log
 
# Borramos la carpeta de la migracion
cd ..
rm -rf migration
 
# Para terminar, damos gracias por ser tan inteligentes :)

Nosotros realizamos la migracion de todos nuestros repositorios subversion a git, esto nos dio bastante trabajo, pero estamos felices con el resultado.

Si tienes problemas para migrar el repositorio ve a: http://help.github.com/svn-importing/

Tags:

Una Respuesta a “Migrar repositorio SVN a GIT”

  1. Erickcion 28 diciembre, 2011 en 9:54 AM #

    Gracias amigo, acabo de migrar mi repositorio… quería comentarte que me ahorre los pasos que estan en la linea 24 y la linea 27 e igualmente me funciono sin problemas.

    Gracias de nuevo.

Deja una respuesta