Entradas etiquetadas con repositorio
Cómo copiar y restaurar un repositorio Subversion en Linux
0Subversion 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
0Hace 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
0La 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.
Pasar un repositorio Subversion a otro servidor
0Hay 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