Posts filed under ‘subversion’

INSTALACIÓN Y CONFIGURACIÓN BÁSICA DE UN SISTEMA DE CONTROL DE VERSIONES DE FICHEROS CON SUBVERSION EN WINDOWS

Subversion es un software de sistema de control de versiones diseñado específicamente para reemplazar a CVS.
Una característica importante de Subversion es que, a diferencia de CVS, los archivos versionados no tienen cada uno un número de revisión independiente. En cambio, todo el repositorio tiene un único número de versión que identifica un estado común de todos los archivos del repositorio en cierto punto del tiempo.

Características principales:
– Se sigue la historia de los archivos y directorios a través de copias y renombrados.
– Las modificaciones (incluyendo cambios a varios archivos) son atómicas.
– El creado de ramas y etiquetas es una operación más eficiente; Tiene coste constante (O(1)) y no lineal (O(n)) como en CVS.
– Se envían sólo las diferencias en ambas direcciones (en CVS siempre se envían al servidor archivos completos).
– Permite el acceso mediante distintos protocolos file://(ficheros locales) http://(vía webDav) https://(con encriptación ssl) svn://(protocolo propio de subversion) svn+ssh://(protocolo de subversion sobre un túnel ssh)
– Maneja eficientemente archivos binarios (a diferencia de CVS que los trata internamente como si fueran de texto). Hace uso de un algoritmo de “diferenciación” que permite compresión de los datos dentro del repositorio y, además, se apoya en una base de datos BDB (Berkeley DB) o en FSFS (se aconseja el uso de ésta última puesto que la Berkeley DB puede dar problemas erráticos).
– Permite transacciones.Las modificaciones del repositorio se realizan completas o no se realizan. O se realizan todos los pasos o no se realiza ninguno. Nunca se quedará un commit a mitad.

Otras opciones alternativas a Subversion:

– CVS (ya anticuado)
– GNU arch
– Darcs (control de versiones descentralizado, evolución de cvs y subversion aunque con ciertos problemas en el desarrollo)
– Bonsai CVS (Mozilla)
– Source Safe (de microsoft)
– Clear Case (de Ibm)
– Plastic SCM

PASOS PARA INSTALAR EL SERVIDOR  Y UN EJEMPLO BÁSICO DE CONEXIÓN 

1 – Descargamos e instalamos el servidor: Subversion

http://subversion.tigris.org/files/documents/15/35379/svn-1.4.2-setup.exe

2 – Descargamos e instalamos el cliente: tortoiseCVS

http://surfnet.dl.sourceforge.net/sourceforge/tortoisecvs/TortoiseCVS-1.8.30.exe

3 – Abrimos un intérprete de comandos y ejecutar svnserver -d para lanzar el servidor

4 – Desde otro intérprete de comandos crearemos nuestro primer repositorio con svnadmin.
Por ejemplo: svnadmin C:\REPOSITORIO1

5 – Para acceder al repositorio nos ponemos sobre la carpeta que queramos usar con el repositorio y pulsamos sobre el botón derecho. Seleccionamos SVN Checkout y ponemos en URL of repository svn://127.0.0.1/REPOSITORIO1
Automáticamente descargará el contenido del repositorio (al ser la primera vez está vacío).

6 – Creamos en nuestro directorio la estructura típica recomendada por el manual de subversion:

/trunk
/branches
/tags

En trunk irá la línea principal de desarrollo.
En branch irán copias de las ramas.
En tags otras.

7 – Una vez realizado nos ponemos sobre la carpeta que queramos subir al servidor y pulsamos sobre el botón derecho. Seleccionamos SVN Commit y eso subirá los ficheros al servidor.

8 – Para añadir un usuario y clave de acceso:

Modificar el fichero /conf/svnserve.conf dentro del repositorio y añadir las siguientes líneas:

password-db = fichero_clave
realm = Texto de bienvenida
anon-access = none
auth-access = write

Crear el fichero /conf/fichero_clave con el siguente contenido

[users]
Nombre_usuario=clave
Como buena práctica se recomienda que cada vez que vayamos a trabajar con nuestros ficheros debemos realizar en primer lugar un SVN Update que descargará del servidor a nuestro ordenador las últimas versiones del repositorio.
Una vez finalicemos el trabajo realizaremos un SVN commit, que actualizará el repositorio con las versiones de los ficheros . 

A partir de aquí comienza el trabajo diario. Crearemos ramas, haremos merges, solucionaremos  conflictos de versiones etc.

En un futuro post explicaré el uso diario de las herramientas.

Enlaces:
Libro oficial de subversion: http://svnbook.red-bean.com/nightly/en/svn-book.html
Como montar un servidor subversion en linux : http://www.badopi.org/node/744

Anuncios

marzo 10, 2007 at 12:10 am 1 comentario


Calendario

noviembre 2017
L M X J V S D
« Feb    
 12345
6789101112
13141516171819
20212223242526
27282930  

Posts by Month

Posts by Category