Tutorial de Instalación de Subversión

enero 24 2010Se el primero en comentar

Guardado en : General, Programación, Software Libre

Antes de comenzar con la instalación de Subversión, trataremos algunos puntos importantes para entender mejor el funcionamiento, y uso del mismo.

¿Qué es un sistema de Control de Versiones?

Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo. Por lo que los sistemas de control de versiones facilitan la administración de las distintas versiones de cada producto desarrollado.

El control de versiones se aplica principalmente en la industria informática para el control de versiones del código fuente. Los mismos conceptos son aplicables a otros ámbitos como documentos, imágenes, sitios web, etc..

Las características que debe proporcionar un sistema de control de versiones son:.

  • Mecanismo de almacenaje de los elementos que deba gestionar “Archivos de texto, imágenes, documentación”..
  • Posibilidad de realizar cambios sobre los elementos almacenados “Modificaciones parciales, agregar, borrar, renombrar o mover elementos”. .
  • Registro histórico de las acciones realizadas con cada elemento o conjunto de elementos “Recuperar un estado anterior”.

Existen multitud de sistemas de control de versiones, como se puede ver en la lista de software de control de versiones.

CVS tuvo el mérito de ser el primer sistema usado por el movimiento de código abierto para que los programadores colaboraran remotamente mediante el envío de parches.

Es de uso gratuito, código abierto, y emplea fusión de cambios..

Presentando a Subversion

Subversion se creó para igualar y mejorar la funcionalidad de CVS, preservando su filosofía de desarrollo. Su desarrollo comenzó en el año 2000 como proyecto de código abierto esponsorizado por CollabNet . El líder del equipo de desarrollo fue Karl Fogel, autor de Open Source Development with CVS, y fundador de Cyclic Software (compañía de desarrollo y soporte comercial para CVS, hoy adquirida por SourceGear). La versión 1.0 fue publicada en febrero del 2004. Emplea licencia Apache/BSD..

¿Qué es Subversión?

Sistema de control de versiones, software libre y código fuente abierto. Existe un repositorio central, el cual funciona como un servidor de archivos cualquiera, a excepción de que este guarda el historial de los cambios echos a cualquier archivo o directorio, lo cual permite recuperar cualquier version pasada de los datos.

Subversión puede acceder al repositorio a través de redes permitiendo la capacidad de que varias personas puedan modificar y administrar el mismo conjunto de datos desde diferentes y alejadas ubicaciones.

Un sistema general que puede ser usado para administrar cualquier conjunto de archivos.

¿Qué es un repositorio?

Todos los sistemas de control de versiones se basan en disponer de un repositorio, este es el conjunto de información gestionada por el sistema. Contiene el historial de versiones de todos los elementos gestionados.

Cada usuario puede crear una copia local, duplicando el contenido del repositorio para permitir su uso. Es posible publicar cualquier versión almacenada en el historial, a este proceso se conoce como check out o desproteger. Existen dos semánticas básicas para modificar una copia estas son:

Exclusivos: Para realizar cambios se debe marcar en el repositorio el elemento que se desea modificar y el sistema se encargara de impedir que otro usuario modifique dicho elemento.
Colaborativos: Cada usuario descarga una copia la modifica y el sistema automáticamente mezcla las diversas modificaciones. El problema de este es la aparición de conflictos que deben ser solucionados manualmente, o las posibles inconsistencias al modificar el mismo fichero por varios usuarios no coordinados.

Tras hacer las modificaciones se debe actualizar el repositorio con los cambios realizados. A este proceso se le denomina publicar, commit, check in o proteger.

¿Qué es un servidor de archivos?

Se define como el servidor en una red, cuya función es permitir el acceso remoto a los archivos almacenados en él o directamente accesibles por este.

Desde el punto de vista del cliente un servidor de archivos, la localización de los archivos compartidos es transparente.

A continuación se proporcionan algunos términos de uso común útiles para la comprensión de Subversion.

  • Repositorio: Lugar de almacenaje de los datos actualizados e históricos, a menudo en un servidor.
  • Módulo: Conjunto de directorios y/o archivos dentro del repositorio que pertenecen a un proyecto común.
  • Revisión: Es una versión determinada de un archivo.
  • Publicar o Enviar: Un commit sucede cuando una copia de los cambios hechos a una copia local es escrita o integrada al repositorio.
  • Importación: Acción de copiar un árbol de directorios local, en el repositorio por primera vez.
  • Actualización (sync o update): Integra los cambios que has sido hechos en el repositorio en la copia de trabajo local.
  • Copia de trabajo: Copia local de los archivos de un repositorio en un momento del tiempo o revisión específicos. Todo el trabajo realizado sobre los archivos un repositorio se realiza inicialmente sobre una copia de trabajo.

Más adelante iremos conociendo más términos, ahora comencemos con la instalación de subversión.

Instalación de Subversion en Ubuntu

Como primer paso abriremos una terminal, para esto daremos clic en Aplicaciones > Accesorios > Terminal.

Para poder instalar Subversion es necesario que nos identifiquemos como súper usuario, esto lo haremos con el comando sudo -s, seguidamente nos pedira la contraseña del usuario actual.

El siguiente paso es instalar subvesión, lo cual lo haremos con el siguiente comando:
root@usuario:~# apt-get install subversión.

Inmediatamente se comienza la descarga e instalación de Subversion, las instrucciones anteriores se pueden apreciar en las siguientes imágenes.

En esta imagen se puede apreciar que se comienza leyendo lista de paquetes, creando árboles de dependencia en el sistema y leyendo información de estado, esto para saber que paquetes son necesarios descargar y actualizar para que se lleva a cabo la instalación.

Una vez que ha terminado esta parte del proceso se pide confirmación para descargar dichos paquetes, una ves que hemos seleccionado si comienza la descarga y el desempaquetado de los mismo. Ya terminada la instalación la terminal luce como muestra la siguiente imagen.

CREACION DE UN REPOSITORIO

El repositorio es el árbol de directorios donde Subversion almacena los archivos y todos los cambios. Para crear un repositorio vacío se utiliza la herramienta de administración svnadmin como se muestra a continuación en la imagen.

mkdir es utilizado para crear directorios , junto con la opción -p crea directorios padre que falten para cada argumento directorio.
Svnadmin como se menciono anteriormente es una herramienta de administración utilizada en este caso para crear un repositorio con la instrucción svnadmin create /var/local/repositorio, de este manera se ha creado un repositorio en la ubicación /var/local.

# Asignamos permisos al servidor web con el siguiente comando: chown -R www-data:www-data /var/local/repositorio

Con el comando ls -la /var/local/repositorio veremos todos los archivos que contiene el repositorio, debería tener el siguiente aspecto en el sistema de archivos de Ubuntu:

Aquí podemos apreciar los archivos y directorios de una instancia de la base de datos Berkeley. Los proyectos no se guardan en el sistema de archivos, sino en una base de datos.

Acceso Remoto con Apache

Apache es un servidor web que puede ser configurado para acceder al repositorio usando el protocolo HTTP. El acceso remoto con Apache ofrece mayor flexibilidad que svnserver.

Instalación de Apache

Para instalar apache abrimos una terminal y ejecutamos el comando apt-get install apache2-mpm-prefork

Comienza la descarga e instalación de apache.

Para que apache transforme las operaciones HTTP de los clientes de subversión, en operaciones sobre el repositorio, es necesarios instalar el modulo libapache2-svn. El cual instalaremos a continuación con la siguiente línea de comando:

apt-get install libapache2-svn

Una vez terminada la instalación se procede la configuración de Apache.

Configuración de Apache

Se debe configurar el modulo para que opere con el repositorio y como restringir el acceso usando autentificación básica.

Para configurar el modulo mod_dav_svn se editara el archivo dav_svn.conf, para acceder a este archivo escribimos el siguiente comando :

nano /etc/apache2/mods-available/dav_svn.conf

Buscamos la líneas siguientes y las comentamos:

#<Location /svn>
#</Location>

y añadimos estas otras:

<Location /repos>
DAV svn
SVNPath /var/local/repos
</Location>

Ya editado el archivo guardamos los cambios con Ctrl+G

Una ves guardados los cambios reiniciamos apache para aplicar los cambios, para esto escribimos el siguiente comando.

/etc/init.d/apache2 restart

Abrimos un navegador web y escribimos http://127.0.0.1/repositorio, que es la dirección local del servidor, esto mostrara el repositorio que hemos creado .

Creación de un proyecto en Subversion

Una ves que tenemos el repositorio funcionando en red. Para crear un proyecto añadiremos un subdirectorio donde iremos almacenando archivos. Esto lo haremos con el siguiente comando.

svn mkdir http://127.0.0.1:80/repositorio/Proyecto1 -m “Proyecto1″

Accedemos nuevamente al repositorio y estará actualizado.

Acceso al repositorio desde otra computadora de la red a través de la IP de la computadora.

Quizá te interese :

Acerca del autor:

Deja un comentario


Licencia y uso

Las técnicas demostradas en los tutoriales pueden ser utilizadas sin ninguna limitación y tampoco es obligatorio dar una atribución.


Los textos, imágenes y tutoriales son propiedad de sus respectivos autores, nuestro contenido se encuentra bajo licencia Creative Commons Share-Alike.

Escribe algo para el sitio

El escribir un tutorial o un artículo, mandarnos un enlace para Ubicuos, no solamente es una forma de obtener publicidad, si no también de dar algo a la comunidad y nosotros te lo recompensamos con los premios del mes! Leer más de nuestras promociones

¿Sugerencias?

Este es TU sitio, si tienes sugerencias o ideas de cómo podemos mejorarlo para ti, ¡Por favor háznoslos saber!

Hacemos nuestro mayor esfuerzo en proporcionar un sitio útil y amigable y esperamos que disfrutes tu tiempo aquí.

Ayuda a Difundir

Te gusta Ubicuos?

Ve las formas en que nos puedes apoyar.

Apoyando a Ubicuos.com

Submit your linkClose

-->