Estas en: Home > repositorio

Entradas etiquetadas con repositorio

Cómo copiar y restaurar un repositorio Subversion en Linux

0

Subversion es un software de control de versiones que precedió a Git, y que en su momento disponía del monopolio de este tipo de software.

Debido a que aun quedan algunos repositorios en Subversion (el mismo WordPress aun lo usa), es posible que puedas verte en la situación de disponer de código legado que aun use este CVS.

Si has llegado hasta aquí, bien porque el repositorio de Subversion te ha dado un error y quieres restaurar un backup de tu repositorio, o bien porque estás moviendo el repositorio a una nueva máquina, o simplemente porque quieres asegurarte de no perder los datos, te voy a indicar cómo realizar una copia o backup de tu repositorio de Subversion y restaurarlo donde lo necesites.

Realizar una copia de respaldo (backup) de un repositorio Subversion usando «svnadmin dump»

El comando «svnadmin dump» es el que realizará el trabajo por nosotros. creará un fichero de los datos del repositorio.

svnadmin dump [ruta_del_repositorio] > [nombre_del_fichero_de_respaldo]

Por ejemplo, para realizar un backup del repositorio localizado en la ruta /var/repos/mi_repo habría que ejecutar el siguiente comando:

svnadmin dump /var/repos/mi_repo > backup_mi_repo.dump

Restaurar una copia de respaldo (backup) desde un fichero usando «svnadmin load»

El funcionamiento del comando «svnadmin load» es igual de simple:

svnadmin load [ruta_del_repositorio] < [nombre_del_fichero_de_respaldo]

Por ejemplo, si quisieramos restaurar la copia del repositorio en el fichero anterior al nuevo repositorio que se encuentra en /var/repos/mi_nuevo_repo:

svnadmin load /var/repos/mi_nuevo_repo < backup_mi_repo.dump

Este ejemplo considera que el directorio en el que se restaura la copia es un repositorio nuevo, creado con el comando:

svnadmin create /var/repos/mi_nuevo_repo

Realizar una copia de respaldo (backup) incremental usando «svnadmin dump»

Si realizas backups frecuentes es posible que solo te interesen los cambios realizados desde la última vez que realizaste el backup, para ello la mejor forma es usar el parámetro «–incremental» y especificar la revisión desde la que comenzar (y terminar) usando «-r»:

svnadmin dump [ruta_del_repositorio] --incremental -r [revision_inicio]:[revision_final] > [nombre_del_fichero_de_respaldo]

El parámetro «-r» puede tener como valor solo la revisión de inicio, o bien usar «HEAD» para la revisión final:

svnadmin dump /var/repos/mi_repo --incremental -r 10:HEAD > backup_mi_repo_incremental.dump

Restaurando una copia de respaldo (backup) usando «svnadmin load»

No es diferente a la restauración de la copia de respaldo normal:

svnadmin load /var/repos/mi_nuevo_repo < backup_mi_repo_incremental.dump

Comprimir el fichero de la copia de respaldo

Esto se puede hacer fácilmente con «gzip»:

gzip backup_mi_repo.dump

Este comando generará un fichero con extensión «.gz» y un tamaño mucho más reducido respecto al fichero original, que fácilmente pueden ser cientos de gigabytes.

Para descomprimir el fichero hay que utilizar «gunzip»:

gunzip backup_mi_repo.dump.gz

Solución: Error en NetBeans al conectar con un repositorio Subversion: handshake_failure

0

Hace unos días me encontré con este problema. Fue después de actualizar Java a su versión más actual. Al ir a realizar un commit desde NetBeans 8.1 a un repositorio Subversion me devolvió este error, y claro, no pude realizar el commit.

Después de mucho indagar en el problema encontré que el JDK 1.8 ha abandonado el cifrado RC4 por inseguro, que es el cifrado que utilizaba el servidor donde tengo el repositorio. Así que como no tengo acceso al servidor, lo más adecuado es instalar la versión 1.7 de JDK y modificar NetBeans para que utilice esa versión.

Para indicarle a NetBeans la versión de JDK que debe usar debemos buscar un archivo llamado netbeans.conf, que habitualmente estará en el siguiente directorio:

C:\Program Files\NetBeans 8.x\etc\netbeans.conf

En ese archivo hay que buscar la variable netbeans_jdkhome y añadir la ruta de la versión del JDK:

netbeans_jdkhome="C:\Program Files\Java\jdk1.7xxxxx"

En mi caso ya tenía instalada la versión 1.7 de JDK, si tu no la tuvieras tendrás que instalarla primero

Guardamos el archivo, abrimos NetBeans y volvemos a hacer ese commit que se resistía.

Integración continua: Automatizando la creación de repositorios con Git y Subversion

0

La automatización de procesos es una de las tareas esenciales en integración continua, ya que permite estandarizar los procesos (que siempre sean iguales) y ahorrar muchísimo tiempo en el desarrollo de los proyectos.

Lo primero que vamos a automatizar es la creación de repositorios. Para ello vamos a utilizar un script en Bash para poder ejecutarlo en consola a través de ssh. Es posible crear algo parecido con otros lenguajes de programación y además, con una interfaz web que facilite la gestión; pero de momento vamos con lo más básico.

(más…)

Pasar un repositorio Subversion a otro servidor

0

Hay veces en las que es necesario pasar nuestro repositorio Subversion a otro servidor, bien por falta de espacio o recursos, bien por cambio de proveedor. Para ello subversion nos ofrece varios comandos para realizar el proceso.

Como esta información ya existe en la red prefiero enlazaros al contenido original (mientras sea legal en España), en el que está muy bien explicado y me fue de mucha utilidad en su momento:

http://blog.wlacruz.com.ve/2011/10/migrar-o-mover-repositorio-de.html

Ir arriba