Primeros pasos con Subversion
En el artículo anterior, vimos como instalar Subversion en un sistema Ubuntu, hoy vamos a ver como realizar las tareas típicas.
Si hemos instalado con éxito SVN, ya podemos empezar a crear repositorios para guardar nuestro bien más valioso: el código fuente.
Desde un terminal, nos cambiamos a modo root:
sudo -s
Creamos un directorio donde posteriormente crearemos los repositorios para nuestros proyectos, esto es más una cuestión de gustos, hay quien prefiere utilizar un único repositorio para después crear subcarpetas para cada proyecto. Personalmente, prefiero generar un repositorio diferente para cada proyecto, veremos más adelante que esto nos ofrece más flexibilidad en según que situaciones.
mkdir /var/svn
Ahora creamos el repositorio para nuestro proyecto:
svnadmin create /var/svn/proyecto
Cambiar proyecto por el nombre de vuestro proyecto. Sugerencia: evitaremos problemas si escribimos el nombre en minúsculas y sin espacios.
Si vamos al directorio del repositorio y hacemos un ls, veremos la estructura de directorios y de archivos generadas por SVN. Es interesante darle un vistazo al fichero README.txt, éste nos avisa que no debemos crear o modificar directamente los archivos del repositorio, para eso ya están las herramientas de SVN.
Bien, ya tenemos el repositorio creado, ahora habrá que crear una estructura de directorios para mantener nuestro código organizado.
Creamos la estructura básica:
- un directorio trunk donde se almacena la rama de código principal
- un directorio tags para guardar “fotos” o estados concretos de nuestro proyecto (ideal para marcar versiones de nuestro proyecto)
- y finalmente, el directorio branches por si queremos trabajar con ramas diferentes del proyecto
Otra vez desde la terminal (introducir la orden en una sola línea):
svn mkdir -m "layout inicial" file:///var/svn/proyecto/trunk file:///var/svn/proyecto/tags file:///var/svn/proyecto/branches
Con esto tenemos ya preparado nuestro repositorio para empezar a añadir código en él. Supongamos que tenemos un directorio (/home/usuario/proyecto) con los archivos de nuestro proyecto que queremos proteger.
El primer paso es importar todo el arbol del proyecto al repositorio:
cd /home/usuario/proyectoVeremos los mensajes del proceso de importación, cuando el proceso termine la importación veremos un mensaje parecido a este:
svn import -m "import inicial" . file:///var/svn/proyecto/trunk
Commit de la revisión 1.
Ahora ya tenemos nuestro proyecto “guardado” en el repositorio, a partir de este momento debemos descartar la ubicación original del proyecto, en nuestro ejemplo /home/usuario/proyecto, y empezar a trabajar con una “copia de trabajo” del proyecto.
El proceso típico de trabajo se resume de la siguiente forma:
- Checkout o creación inicial del directorio de trabajo, esto sólo hay que hacerlo una vez
- Update, actualización de nuestra copia con los cambios que se hayan producido en el repositorio, esto es básico en entornos con más de un desarrollador. Es la manera de actualizar nuestra copia con los cambios realizados por el resto del equipo
- Commit, guardar nuestros cambios en el repositorio.
Vemos ahora como crear una copia de trabajo a partir de nuestro flamante repositorio:
Salimos del modo root, con exit, ya que nos interesa que los archivos de trabajo se creen con nuestro usuario habitual:
exit
cd /home/usuario
svn co file:///var/svn/proyecto/trunk/ proyecto/
Nos apareceran los mensajes de importación, cuando finalice el proceso, entramos en el directorio de trabajo y veremos los archivos descargados del repositorio. Con esto damos por finalizado esta primera toma de contacto, en un próximo articulo veremos como acceder a nuestro repositorio desde otros pc.