Tutorial de Instalación de Subversión
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 :
Manual de Inicio en Ubuntu 9.10 para Principiantes Descargar Manual básico de inicio en Ubun ...
Muchos de nosotros al estar desarrollando aplicaciones con Rails nos conformamos con utilizar WE ...
Instalación de Ruby Antes de instalar Ruby, vamos a conocer un poco acerca de este lenguaje par ...








