Subversion

De doc.ubuntu-es
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(Ver también)
(categotizo)
 
Línea 144: Línea 144:
 
== Fuentes ==
 
== Fuentes ==
 
*[https://help.ubuntu.com/6.10/ubuntu/serverguide/es/version-control-system.html Sistema de control de versiones] en http://help.ubuntu.com
 
*[https://help.ubuntu.com/6.10/ubuntu/serverguide/es/version-control-system.html Sistema de control de versiones] en http://help.ubuntu.com
 +
 +
 +
[[Categoría:Servidores]]

Última revisión de 16:58 20 feb 2008

Subversion es un sistema de control de versiones open source. Mediante Subversion, puede registrar la historia de archivos de código fuente y documentos. Gestiona archivos y directorios a través del tiempo. Se coloca un árbol de archivos en un repositorio central. El repositorio es como un servidor de archivos ordinario, excepto en que recuerda todos los cambios que se realizan sobre los archivos y los directorios que contiene. Instalación

Para acceder a un repositorio de Subversion mediante el protocolo HTTP, debes instalar y configurar un servidor web. Apache2 ha demostrado funcionar bien con Subversion. Para acceder al repositorio de Subversion repository mediante el protocolo HTTPS, debes instalar y configurar un certificado digital en tu servidor web Apache 2.

Para instalar Subversion, ejecuta la siguiente orden en la línea de órdenes de una terminal:

sudo apt-get install subversion libapache2-svn

Contenido

[editar] Configuración del servidor

Este paso asume que ya tienes instalados los paquetes mencionados en su sistema. Esta sección te explica cómo crear un repositorio de Subversion y acceder al proyecto.

[editar] Crear un repositorio de Subversion

El repositorio de Subversion puede ser creado usando la siguiente orden en la línea de órdenes de una terminal

svnadmin create /path/to/repos/project

[editar] Métodos de acceso

Se puede acceder («check out») a los repositorios de Subversion a través de muchos métodos diferentes --en un disco local, o a través de varios protocolos de red. Una ubicación dentro del repositorio, sin embargo, es siempre una URL. La tabla describe cómo se corresponden diferentes esquemas de URL con los métodos de acceso disponibles. Métodos de acceso

Esquema Método de acceso
file:// acceso directo al repositorio (en disco local)
http:// Acceso a través del protocolo WebDAV a un servidor web Apache2 con Subversion incluido
https:// Igual que http://, pero con cifrado SSL
svn:// Acceso al servidor svnserve mediante el protocolo predeterminado
svn+ssh:// Igual que svn://, pero a través de un túnel SSH

En esta sección, veremos cómo configurar Subversion para todos esos métodos de acceso. Aquí cubrimos lo básico. Para más detalles avanzados sobre su utilización, consulte el libro de svn.

[editar] Acceso directo al repositorio (file://)

Este es el método de acceso más sencillo. No necesita que se esté ejecutando ningún proceso de servidor Subversion. Este método de acceso se usa para acceder a Subversion desde la misma máquina. La sintaxis de la orden, introducida en la línea de órdenes de una terminal, es la siguiente:

svn co file:///path/to/repos/project

o

svn co file://localhost/path/to/repos/project
Clip.png Si no especificas el nombre del host, has de usar tres barras (///) -- dos para el protocolo (file, en este caso) más la barra que indica la raíz de la ruta. Si especificas el nombre del host, debes usar dos barras (//).

Los permisos del repositorio dependen de los permisos del sistema de archivos. Si el usuario tiene permisos de lectura/escritura, puede hacer «checkout» y «commit» sobre el repositorio.

[editar] Acceso mediante el protocolo WebDAV (http://)

Para acceder al repositorio de Subversion a través del protocolo WebDAV, debes configurar tu servidor web Apache2. Debes añadir lo siguiente en tu archivo /etc/apache2/apache2.conf:

<Location /svn>
 DAV svn
 SVNPath /path/to/repos
 AuthType Basic
 AuthName "El nombre de su repositorio"
 AuthUserFile /etc/subversion/passwd
 <LimitExcept GET PROPFIND OPTIONS REPORT>
 Require valid-user
 </LimitExcept>
 </Location> 

Ahora debes crear el archivo /etc/subversion/passwd, que contiene los detalles de autenticación del usuario. Para añadir una entrada, p.e. para añadir un usuario, puede ejecutar esta orden en una terminal:

htpasswd2 /etc/subversion/passwd user_name

Ésta orden le pedirá que introduzca su contraseña. Cuando lo haga, se añadirá el usuario. Entonces, para acceder al repositorio puede ejecutar esto:

svn co http://servername/svn
 
Important.png La contraseña se transmite como texto plano. Si te preocupa que puedan interceptar su contraseña, se recomienda que usar cifrado SSL. Para más detalles, consulta la siguiente sección.


[editar] Acceso mediante el protocolo WebDAV con cifrado SSL (https://)

El acceso a un repositorio de Subversion por medio del protocolo WebDAV con cifrado SSL (https://) es similar al http:// excepto en que debes instalar y configurar el certificado digital en tu servidor web Apache2.

Puedes instalar un certificado digital emitido por una autoridad de certificación como Verisign. También puedes instalar tu propio certificado auto-firmado.

Este paso asume que tienes instalado y configurado un certificado digital en tu servidor web Apache2. Ahora, para acceder al repositorio de Subversion, por favor, consulta la sección anterior. Los métodos de acceso son exactamente los mismos, excepto el protocolo. Debes usar https:// para acceder al repositorio de Subversion.

[editar] Acceso mediante un protocolo personalizado (svn://)

Cuando se haya creado el repositorio de Subversion, podrás configurar el control de acceso. Puedes editar el archivo /ruta/al/repositorio/proyecto/conf/svnserve.conf para configurar el control de acceso. Por ejemplo, para configurar la autenticación, puedes descomentar las siguientes líneas en el archivo de configuración:

# [general]
# password-db = passwd

Tras descomentar las líneas anteriores, podrás mantener la lista de usuarios en el archivo passwd. Para ello, edita el archivo passwd en el mismo directorio y añade el nuevo usuario. La sintaxis es la siguiente:

username = password

Para más detalles, por favor consulta el archivo.

Ahora, para acceder a Subversion a través del protocolo personalizado svn://, bien sea desde la misma máquina o desde otra diferente, debes ejecutar svnserver usando la orden svnserve. La sintaxis es la siguiente:

svnserve -d --foreground -r /ruta/al/repositorio
# -d -- modo demonio
# --foreground -- ejecutar en primer plano (útil para depuración)
# -r -- raíz del directorio a servir

Para más detalles de uso, por favor, consulte:

svnserve --help

Una vez hayas ejecutado la orden, Subversion comenzarás a escuchar por el puerto predeterminado (3690). Para acceder al repositorio del proyecto, deberás ejecutar la siguiente orden en la línea de órdenes de una terminal:

svn co svn://hostname/project project --username user_name

En función de la configuración del servidor, se te solicitará una contraseña. Cuando te hayaa autenticado, se recuperará («check out») el código desde el repositorio de Subversion. Para sincronizar el repositorio del proyecto con la copia local, puedes ejecutar la sub-orden update. La sintaxis de la orden, introducida en la línea de órdenes, es la siguiente:

cd project_dir ; svn update

Para más detalles sobre cómo usar cada sub-orden de Subversion, puedes consultar el manual. Por ejemplo, para aprender más sobre la orden co (checkout), ejecuta la siguiente orden en la línea de órdenes de una terminal:

svn co help

Acceso mediante un protocolo personalizado con cifrado SSL (svn+ssh://)

El proceso de configurar un servidor es el mismo que con el método svn://. Para más detalles, por favor, consulta la sección anterior. Este paso asume que has seguido los pasos anteriores y que has iniciado el servidor de Subversion usando la orden svnserve.

También asume que se está ejecutando el servidor ssh en esa máquina y que se permiten las conexiones entrantes. Para confirmarlo intenta iniciar una sesión en esa máquina usando ssh. Si puedes entrar, todo está correcto. Si no puedes entrar, corrígelo antes de continuar.

El procotolo svn+ssh:// se utiliza para acceder al repositorio de Subversion usando el cifrado SSL. Los datos transferidos se cifran usando este método. Para acceder al repositorio del proyecto (por ejemplo, con un «checkout») debes usar la siguiente sintaxis:

svn co svn+ssh://hostname/var/svn/repos/project
Clip.png Debes usar la ruta completa (/ruta/al/repositorio/del/proyecto) para acceder al repositorio de Subversion usando este método de acceso.

En función de la configuración del servidor, se te solicitará una contraseña. Debes introducir la misma contraseña que usa para iniciar sesión con ssh. Cuando te haya autenticado, se recuperará («check out») el código del repositorio de Subversion.

[editar] Ver también

[editar] Fuentes

Herramientas personales