SVN - Miniguia: Instalar un servidor SVN

Este pequeño tutorial detalla cómo instalar un servidor Subversion y algunos comandos básicos de usuario. No incluye configuración de un acceso por web ni de un cliente gráfico.

Instalación del servidor

  1. Instala Subversion.
    Debería estar disponible en tu distribución. Y si no, siempre puedes compilar desde fuentes.

    • Debian
      apt-get install subversion
  2. Entra en la cuenta de administrador
    su
  3. Crear el usuario y el grupo de sistema

    groupadd svn
    useradd -c "SVN Owner" -d /home/svn -m -g svn -s /bin/false svn
  4. Configura el inicio del servidor.
    En este caso el servidor se iniciará cada vez que alguien quiera conectar.
    Edita /etc/inetd.conf y añade al final

    svn stream tcp nowait svn /usr/bin/svnserve svnserve -i -r /home/svn

    Ahora haz que Inetd relea la configuración

    /etc/init.d/inetd reload

Crea un repositorio

  1. Hazte pasar por el usuario y crea el repositorio 'docs'.
    sudo -u svn svnadmin create /home/svn/docs
  2. Configura el acceso.
    Edita /home/svn/docs/conf/svnserve.conf y asegúrate de que pone:

    [general]
    password-db = passwd
  3. Edita /home/svn/docs/conf/passwd y añade los usuarios que desees y sus contraseñas

    [users]
    bobby = mypass
  4. El fichero de contraseñas no debería poder leerlo nadie más

    chmod 640 /home/svn/docs/conf/passwd
  5. Aquí acaban los pasos que requieren privilegios de administrador, así que vuelve a tu cuenta de usuario normal

    exit

Usando el repositorio

  1. Ve al directorio donde quieres tener tu copia local de los directorios de trabajo, y bájate la versión actual. Esto creará un directorio 'docslocal' y varios ficheros ocultos. No borres esos ficheros.
    svn co svn://localhost/docs/trunk docslocal

    Ya puedes entrar en tu directorio de trabajo local y empezar a trabajar

    cd docslocal
  2. Si ya tienes ficheros y directorios creados que quieres añadir al repositorio SVN, cópialos a tu directorio local y añádelos:

    svn add *
  3. Crea un fichero llamado 'cosas.txt' y escribe algo en él

    echo "Este es un fichero de prueba" > cosas.txt

    Para que este fichero forme parte del repositorio, has de avisar para que lo añada

    svn add cosas.txt
  4. Edita un fichero ya existente. Estos cambios puedes hacerlos directamente, no necesitas avisarle.

  5. Comprueba qué ficheros has modificado
    svn status
  6. Comprueba los cambios que has hecho

    svn diff
  7. Envía al servidor los cambios que has hecho en tu copia local

    svn ci -m "Nuevo fichero cosas.txt"

    La primera vez que hagas un commit te pedirá un usuario y contraseña.

  8. Cuando quieras actualizar tu repositorio local con los cambios que otra gente haya enviado al servidor, haz
    svn up
  9. Tienes disponible una ayuda para cuando te falle la memoria:

    svn help
    svn help commit

Apéndice 1: Instalar WebSVN

Aunque normalmente trabajes con el cliente svn en línea de comandos, a veces resulta útil poder acceder al repositorio con el navegador (ejemplo). Evidentemente, has de tener un servidor web instalado y funcionando.

  • Debian
    1. apt-get install websvn
    2. Durante la instalación preguntará si deseas configurar WebSVN. Di que sí.

    3. Deja activado solo el servidor web que vayas a usar.
    4. Where are your svn parent repositories? /home/svn/
    5. Where are your svn repositories? Déjalo vacío
    6. Si la instalación ha terminado correctamente y tienes el servidor web funcionando, ya deberias poder navegar por http://localhost/websvn.
    7. Opcionalmente, puedes modificar la configuración de WebSVN en el fichero /etc/websvn/config.inc

Apéndice 2: Configurar el cliente gráfico eSVN

(falta por hacer)

Enlaces