Ver índice de contenidos del libro

1.12. Subversion

Una buena práctica cuando se desarrollan aplicaciones web consiste en emplear un sistema de control de versiones del código fuente. Este tipo de herramientas permiten:

  • Trabajar con más confianza
  • Volver a una versión anterior en caso de que un cambio rompa la aplicación
  • Permitir a dos o más personas trabajar simultáneamente sobre un mismo proyecto de forma eficiente
  • Disponer de acceso directo a todas las versiones de la aplicación

En esta sección se describe cómo utilizar Subversion con Symfony. Si utilizas cualquier otra herramienta para el versionado del código fuente, seguramente no será complicado adaptar las siguientes explicaciones para Subversion.

Para seguir el resto de la sección es imprescindible contar con un servidor de Subversion correctamente instalado y configurado y que pueda ser accedido mediante HTTP.

Nota Si no dispones de un servidor de Subversion, puedes solicitar uno gratuitamente en Google Code. También puedes buscar "free subversion repository" en Google para encontrar muchas otras opciones disponibles.

En primer lugar, crea un repositorio para el proyecto jobeet en tu servidor de repositorios:

$ svnadmin create /ruta/hasta/el/repositorio/jobeet

Después, crea la estructura básica de directorios en tu ordenador:

$ svn mkdir -m "Creación de la estructura de directorios inicial" http://svn.ejemplo.com/jobeet/trunk http://svn.ejemplo.com/jobeet/tags http://svn.ejemplo.com/jobeet/branches

A continuación, realiza el checkout del directorio trunk/ vacío:

$ cd /home/sfprojects/jobeet
$ svn co http://svn.example.com/jobeet/trunk/ .

Después, borra el contenido de los directorios cache/ y log/ ya que no tiene sentido añadirlos al repositorio:

$ rm -rf cache/* log/*

Asegúrate de establecer los permisos adecuados en los directorios cache/ y log/ para que el servidor web pueda escribir en ellos:

$ chmod 777 cache log

Seguidamente, importa todos los archivos y directorios al repositorio:

$ svn add *

Como no vamos a importar los archivos de los directorios cache/ y log/, debes añadirlos a la lista de archivos ignorados:

$ svn propedit svn:ignore cache

Después de ejecutar el comando anterior se abre el editor de archivos de texto configurado por defecto. Como queremos ignorar todos los contenidos de este directorio, escribe simplemente un asterisco:

*

Guarda el archivo y cierra el editor de textos para concluir el proceso.

Repite los pasos anteriores para el directorio log/:

$ svn propedit svn:ignore log

Vuelve a escribir un asterisco, guarda los cambios y cierra el editor:

*

Por último, sube estos cambios al repositorio:

$ svn import -m "Primera importación" . /ruta/hasta/el/repositorio/jobeet/trunk

Nota Si utilizas Windows, puedes emplear una aplicación genial llamada TortoiseSVN como herramienta para gestionar el repositorio de Subversion.