Migrar SVN a Git

Generalidades

Este artículo te guía a través de la migración de tu repositorio de DreamHost SVN a Git.

Este artículo asume que tu ya has creado un repositorio de Subversion en tu panel el cual se puede acceder en la página Subversion.

Instalar una versión local de git

La versión de git de DreamHost no puede ejecutar el comando git svn. Para usar este comando, primero debes instalar una versión local de git. Revisa el siguiente artículo para obtener instrucciones:

Una vez instalado, puedes correr los siguientes comandos para migrar tu repositorio svn.

Clona el repositorio SVN

Inicia sesión en tu sitio web vía SSH para el dominio en el que se configuró el repositorio SVN. Luego navega al directorio home del usuario.

[server]$ cd ~

Deberás ver el directorio svn listado aquí. Por ejemplo:

[server]$ ls -la ~ | grep svn
drwxr-xr-x  3 myuser pg1234567      78 Nov 18  2020 svn

Diseños de repositorio no estándar

Si el diseño de tu repositorio es simple o no sigue el diseño svn estándar conteniendo los directorios trunk/, branches/, y tags/, puedes correr los siguientes comandos.

  1. Crea un nuevo directorio para clonar tu repositorio SVN.
    [server]$ mkdir svn-cloned
  2. Cambia a este nuevo directorio.
    [server]$ cd svn-cloned
  3. Corre el comando git svn clone para clonar el repositorio en este directorio.
    [server]$ git svn clone https://example.com/svnreponame/
    Este comando crea un nuevo directorio con el mismo nombre que tu repositorio SVN.
  4. Cambia a este directorio.
    [server]$ cd svnreponame
  5. Corre git log para ver todas las confirmaciones.
    [server]$ git log

Ahora puedes usar los comandos de git para administrar este nuevo repositorio de git.

Repositorios SVN estándar

Si tu repositorio está configurado con el diseño de svn estándar, corre el siguiente comando para clonar el repositorio svn en un nuevo repositorio git. Puedes nombrar el nuevo repositorio de git como desees.

[server]$ git svn clone https://example.com/svnreponame/ --stdlayout --prefix=origin/ newgitrepoName -s

Cuando corres el comando anterior, se crea un nuevo directorio para su nuevo repositorio de Git.

Ahora puedes usar los comandos de git para administrar este nuevo repositorio de git.

Información adicional

Los comandos anteriores usan el comando git svn clone. Esto inicializa un nuevo repositorio git mientras obtiene las confirmaciones de tu repositorio svn.

Para tener más control sobre lo que se migra, también puedes optar por correr git svn init si deseas inicializar un repositorio mientras especificas subcarpetas, como una rama específica. Una vez creado, entonces ejecutarías git svn fetch para importar el código.

Revisa el siguiente enlace para obtener más información sobre las opciones disponibles y su configuración:

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?