Instalación de Subversion (SVN) en Windows XP



Instalación de Subversion (SVN) en Windows XP

Introducción

Instalación para Windows

Instalación y configuración de Eclipse para Subversion

Quién soy

Introducción

[pic]Subversion es un sistema de control de versiones, al igual que el archiconocido CVS, pero que lo mejora en ciertos puntos.

[pic]Las diferencias, a grandes rasgos, son que Subversion (al que pasaré a llamar SVN) puede encontrar las diferencias en archivos binarios, cosa que no puede hacer CVS. Otra bastante importante, es que se puede realizar un diff (mostrar las diferencias entre 2 archivos) sin tener que estar conectado al repositorio (SVN guarda una copia local de la última versión del repositorio sin los cambios que haga uno); y por último, SVN guarda el historial de la meta información de archivos y carpetas, es decir, en CVS si se cambiaba de nombre una carpeta, un archivo, se borraba alguno de éstos, simplemente desaparecía. SVN guarda toda esta meta información en el historial.

[pic]Yo trabajo en Autentia, y este sistema nos viene muy bien para poder realizar desarrollos de manera ordenada y efectiva, aumentando el rendimiento y la calidad de los mismos.

Instalación para Windows

[pic]Pasaremos ahora a realizar la instalación de SVN en Windows.

[pic]Primero, descargamos SVN para Windows de aquí

[pic]

[pic]Una vez descargado, comenzamos la instalación.

[pic]

[pic]Pinchamos sobre el ejecutable que acabamos de descargar para comenzar la instalación:

[pic] [pic]

[pic] [pic]

[pic]En este punto ya tenemos instalado SVN. El instalador crea una entrada automáticamente en el path del sistema con la ruta de los ejecutable de SVN.

 

[pic]Vamos a crear ahora un repositorio (en caso de que quieras portar un repositorio CVS a SVN tienes mucha información aqui).

Abrimos pues una ventana de símbolo de sistema, nos situamos en el directorio en el cual queremos crear el repositorio (para el ejemplo d:\servidores\svnRepo) y ejecutamos el siguiente comando:

[pic]

>> svnadmin create web

[pic]Web es el nombre que le quiero dar a mi repositorio, puesto que en él guardaré mis proyectos Web. Puedes crear tantos repositorios como quieras, o guardar todos tus proyectos en el mismo repositorio.

[pic]Ya tenemos creado el repositorio. debería tener una estructura similar a ésta (puedes verlo tecleando >> dir /B /S web):

\web\conf

\web\dav

\web\db

\web\format

\web\hooks

\web\locks

\web\README.txt

\web\conf\authz

\web\conf\passwd

\web\conf\svnserve.conf

\web\db\current

\web\db\format

\web\db\fs-type

\web\db\revprops

\web\db\revs

\web\db\transactions

\web\db\uuid

\web\db\write-lock

\web\db\revprops\0

\web\db\revs\0

\web\hooks\post-commit.tmpl

\web\hooks\post-lock.tmpl

\web\hooks\post-revprop-change.tmpl

\web\hooks\post-unlock.tmpl

\web\hooks\pre-commit.tmpl

\web\hooks\pre-lock.tmpl

\web\hooks\pre-revprop-change.tmpl

\web\hooks\pre-unlock.tmpl

\web\hooks\start-commit.tmpl

\web\locks\db-logs.lock

\web\locks\db.lock

[pic]SVN viene con un servidor, svnserve (al igual que CVS). Este servidor escucha el puerto 3690, y utiliza un protocolo propio que se designa parecido a CVS: svn:// o svn+ssh://. Svnserve se puede instalar como servicio para Windows XP con este programa.

[pic]Sin embargo, usaremos otro método para acceder a SVN: mediante Apache. Como sabrás, Apache en un servidor Web. ¿Qué tiene de bueno acceder a SVN mediante Apache? Principalmente dos cosas. Una, es que los accesos al servidor se realizan por el puerto 80, con lo que posiblemente no tengas que abrir ningún puerto. Además se pueden ver vía explorador Web los proyectos y su contenido (aunque esto se puede limitar como veremos más adelante). El segundo punto importante es que el plugin de SVN para Eclipse utiliza el acceso mediante Apache (más tarde veremos cómo se instala y configura).

[pic]En este tutorial tienes una referencia de cómo instalar Apache si es que no lo tienes instalado.

[pic]Si ya tenías instalado Apache, te habrá hecho unas pequeñas modificaciones en el archivo httpd.conf. Si lo acabas de instalar no te preocupes, ya que pasaremos a explicar dónde hacer los cambios y qué significan.

[pic]Abre el archivo httpd.conf (situado en /Apache2/conf/) y busca la sección de LoadModules. Busca si tienes los siguientes LoadModules (si no los tuvieras añádelos en esa sección):

LoadModule dav_svn_module "D:/servidores/Subversion/bin/mod_dav_svn.so"

LoadModule authz_svn_module "D:/servidores/Subversion/bin/mod_authz_svn.so"

LoadModule dav_svn_module "D:/servidores/Subversion/bin/mod_dav_svn.so"

LoadModule authz_svn_module "D:/servidores/Subversion/bin/mod_authz_svn.so"

[pic]Ten en cuenta que D:/servidores/.. es la ruta donde yo he instalado Subversion. Debes sustituir la ruta por la de tu sistema (y ¡¡cuidado!!, con la barra '/').

[pic]Estos módulos que se cargarán en Apache son los que realizan el acceso a SVN. Ahora tenemos que decirle a Apache dónde está la carpeta con el repositorio. Busca la sección donde estan los 'Location' (posiblemente estén comentados en tu archivo. Para encontrarlos rápidamente, dale a buscar y pon como texto a buscar Location).

[pic]Ahora añade una nueva localización escribiendo el siguiente texto:

   DAV svn

    SVNPath D:/servidores/svnRepo/web

    # Autenticación básica.

    AuthType Basic

    AuthName "Repositorio Subversion"

    AuthUserFile D:/servidores/Apache2/bin/usuarios.txt

    # Solo permitimos usuarios identificados en el fichero de passwords.

   # require valid-user

    # Solo permitimos usuarios identificados en el fichero de passwords

    # con nombre 'XXXXXXX' o 'YYYYYYY'.

    # require user XXXXXXX YYYYYYY

    # se permite lectura a todos, pero otras operaciones necesitan autenticación.

   

        Require valid-user

   

[pic]En la primera línea:  se establece la ruta desde la cual en el explorador se puede acceder al repositorio. En nuestro caso hemos puesto ésta (/svnRespository/web) y accederíamos desde el explorador como . Puedes poner la ruta que te parezca mejor.

La tercera línea, SVNPath D:/servidores/svnRepo/web indica la ruta física al directorio del repositorio en nuestro sistema, que hemos creado antes en esta ruta (pon aquí otra ruta si no lo instalaste aquí.).

[pic]La siguiente sección marca parte de la seguridad de acceso al repositorio:

# Autenticación básica.

    AuthType Basic

    AuthName "Repositorio Subversion"

    AuthUserFile D:/servidores/usuarios.txt

[pic]Y la línea más interesante es la última de este trozo de código. En ella se indica el archivo de usuarios / claves que pueden tener más derechos en el repositorio. Para crear este archivo es fácil. Desde una ventana de símbolo de sistema accedemos a la ruta donde se encuentran los ejecutables de Apache (...\apache2\bin) y tecleamos lo siguiente:

htpasswd -bc d:\servidores\usuarios.txt usuario claveUsuario

[pic]Mediante este comando se crea un fichero con nombres de usuario y claves codificadas con MD5 (un algoritmo de hash). Como es lógico, cambia 'usuario' por el nombre de usuario que quieras, y 'clave' por la clave que desees que tenga.

[pic]Para añadir más usuarios que puedan acceder al repositorio, debes ejecutar:

htpasswd -b d:\servidores\usuarios.txt usuario2 claveUsuario2

[pic]Observa que al añadir un usuario no le ponemos la bandera 'c', para que anexe el nuevo usuario al archivo que creó en la primera ejecución. De todas formas lo mejor es que investigues como se utiliza este comando para que veas las posibilidades que ofrece.

[pic]Ya está todo listo para que funcionen SVN y Apache. Reinicia el servidor Apache para que los cambios en el httpd.conf se hagan efectivos y comprueba el correcto funcionamiento. Para ello abre una ventana de explorador de Internet y teclea . Te tendrá que salir algo similar a esto:

[pic]

[pic]Como verás, dado que aún no hemos añadido ningún proyecto al repositorio, no saldrá ninguno. Ten cuidado si no quieres que algún proyecto sea visible por Web, ya que habrá que quitar o comentar la sección:

 

        Require valid-user

 

** Nota importante: es probable que no te funcione Apache dado que suele haber problemas con las dependencias del módulo mod_dav_svn.so. Cómo solucionarlo puede depender de tu pericia con Windows, puedes buscar información en Google, que hay mucha, y sobre todo, deberías usar el programa depencyWalker () y abrir el fichero comentado anteriormente (mod_dav_svn.so) que se encuentra en la carpeta bin del directorio donde instalaste Subversion, y el programa te mostrará qué dependencias le faltan, o qué no encuentra. Alguno de estos ficheros son dll del Apache. Lo que hice yo fue copiarlos a c:\windows\system32 y parece que funcionó. Pero ya te digo, investiga...

Instalación y configuración de Eclipse para Subversion

[pic]Primero debemos instalar el plugin para Eclipse de Subversion (que como luego podrás comprobar, es casi igual al módulo que viene en Eclipse para CVS).

[pic]Nos vamos a y descargamos el plugin para tu versión de Eclipse (la mía es 3.x, pues tengo Eclipse 3.1.1).

[pic]

[pic]En el momento de creación de este documento, me descargué la versión site-0.9.104.zip. Abrimos el Eclipse y en Help->software updates->Find and install...->search for new features to install, le das al boton New archived site. Seleccionas el zip que te acabas de bajar y aceptas. Ya deberías tener instalado el plugin y las referencias al sitio para futuras actualizaciones.

[pic]

[pic]Ahora vamos a agregar nuestro sitio y a publicar un proyecto para poder trabajar en él:

en Windows->open perspective->other... y seleccionamos la perspectiva 'svn repository exploring':

[pic]

[pic]Tendremos abierta la perspectiva deseada. Dentro de la pestaña SVN Repository, botón derecho del raton y elegimos 'new  repository location'. En las sigueintes capturas verás las ventanas y lo que hay que poner en ellas. Sólo decir (aunque ya lo sabrás) que para el tutorial utilizo localhost como servidor de SVN, pero para acceder a otro servidor sólo tienes que cambiar localhost por la dirección del servidor de SVN.

[pic]

[pic]Ya tenemos en la vista el repositorio añadido:

[pic]

[pic]Sólo queda volver a la vista de java, o en la que estés trabajando, y el proyecto que quieras, publicarlo en SVN. Esto se hace de la siguiente manera: en el proyecto que quieras, botón derecho del ratón y click sobre team->share project:

[pic]

[pic]Y nos saldrá la siguiente ventana, para elegir el tipo de protocolo a utilizar (que será SVN [subversion]):

[pic]

[pic]Le damos a siguiente:

[pic]

[pic]Aquí elegiremos el repositorio donde queremos compartir el proyecto. Para ejemplo, elegimos el que hemos creado y pulsamos en siguiente:

[pic]

[pic]Y finalmente pulsamos en Finish. Llegaremos a una ventana que nos preguntará qué archivos del proyecto queremos subir al repositorio:

[pic]

[pic]Desde aqui seleccionamos los archivos que queremos subir al repositorio, y podemos añadir un comentario.

[pic][pic]Y ya está. Ya tenemos nuestro proyecto compartido en Subversion de modo que varias personas pueden trabajar en él, y el programa irá haciendo las 'mezclas' de los códigos y versionando los ficheros...

Quien soy

[pic]Germán Jiménez Centeno, Ingeniero en Informática (gjimenez@)

[pic]Consultor tecnológico en Autentia.

[pic]Autentia Real Business Solutions S.L. ()

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download

To fulfill the demand for quickly locating and searching documents.

It is intelligent file search solution for home and business.

Literature Lottery

Related searches