Archive for the ‘GIT’ Category

Articles

Migración de SVN a GIT – En 6 Pasos

In GIT,Migración,Subversion,SVN on 16/04/2014 por Esteban Olate

Hay varias ventajas y facilidades que nos ofrece GIT sobre SVN, las que nos llevan a tomar la decisión de usar esta magnifica herramienta. Pero que hacemos con todo el proyecto que llevamos sub versionando en nuestro repositorio de SVN. Aquí les dejo una mini guía en tan sólo 6 pasos para una migración correcta de SVN a GIT.

Primero necesitaremos un programa de java, desarrollado por Atlassian, que nos ayudará con la migración lo puedes descargar en el siguiente link svn-migration-script

Nota: Está guía esta orientada a sistemas operativos basados en Unix (Linux o Mac OS).

Paso 1: Crear unidad de migración sensible a mayúsculas y minúsculas

java -jar ~/svn-migration-scripts.jar create-disk-image 1 <nombre_migración>

Ejemplo:

java -jar ~/svn-migration-scripts.jar create-disk-image 1 MigracionSVN

Paso 2: Ir a la unidad de migración creada

cd ~/<nombre-migración>

Ejemplo:

cd ~/MigracionSVN

Paso 3: Obtener lista de autores del Repo SVN

java -jar ~/svn-migration-scripts.jar authors <url> <usuario> <contraseña> > authors.txt

Ejemplo:

java -jar ~/svn-migration-scripts.jar authors http://servidor.svn.com/repo_svn/ eolate 123456 > authors.txt

 

Paso 4: Reemplazar autores correctamente en el archivo authors.txt

Ejemplo:

Línea archivo original Línea archivo modificado
eolate = eolate <rmarin@mycompany.com> eolate = Esteban Olate <estebanolateb@gmail.com>

Paso 5: Migrar repo

git svn clone –trunk=/ –authors-file=authors.txt <url> <git_repo_name>

Ejemplo:

git svn clone –trunk=/ –authors-file=authors.txt http://servidor.svn.com/repo_svn/ ProyectoGit

 

Nota: este ejemplo usa solo la opción –trunk porque no se tomaran en cuenta las branch ni los tags. Para especificar ruta de ramas usar “–branches=” y para los tags usar “–tags=”.

Paso 6: Subir repo a git

cd <git_repo_name>

git remote add origin <git_url = .git>

git push -u origin master

Ejemplo:

cd ProyectoGit

git remote add origin git@github.com:eolate/proyecto_git.git

git push -u origin master

 

Espero les sirva Esteban Olate