Guía básica Subversion

Subversion es un sistema de control de versiones que nos sirve para tener un control sobre nuestro proyecto y permitirnos realizar cambios dentro del mismo manteniendo un historial de cambios. Esto facilita entre otras cosas el trabajo cooperativo sobre un mismo proyecto.

Para trabajar con SVN podemos crear nuestro propio repositorio o bien importar un repositorio existente.

Crear un repositorio

Lo primero para trabajar con subversion es crear un repositorio. En este es donde se va a almacenar el contenido. Para ello creamos la carpeta en la ruta que queramos y a continuación ejecutamos el siguiente comando:

svnadmin create /ruta_al_repositorio

Un ejemplo sería el siguiente si lo que queremos es almacenar nuestros proyectos en una carpeta dentro de /home/ llamada repoSvn:

svnadmin create /home/repoSvn/

Importar archivos a nuestro repositorio

Supongamos que tenemos unos archivos en otra ruta en los que estamos trabajando y los queremos importar a este repositorio. Nos situamos en la carpeta en la que tenemos nuestros ficheros y lanzamos el siguiente comando:

svn import /ruta_a_la_carpeta_a_importar/ file:///ruta_a_la_carpeta_repositorio/ -m “mensaje del commit”

En el ejemplo que estamos siguiendo vamos a importar una carpeta llamada locales

svn import /home/locales/ file:///home/repoSvn/locales -m "Importacion inicial"

Este directorio que acabamos de importar aún no es una copia controlada de Subversion. Antes de que hacer un checkout del proyecto lanzando el siguiente comando:

svn checkout file:///ruta_al_repositorio

En nuestro caso sería:

svn checkout file:///home/repoSvn/locales

Esto lo que hará será crear un subdirectorio llamado “locales” en nuestro ejemplo en el directorio actual y clonar los ficheros del repo en él.

Trabajar con los ficheros

Con los pasos anteriores ya hemos creado un repositorio y también un directorio de trabajo por lo que ya podemos trabajar con nuestro proyecto.

Crear un nuevo fichero y añadirlo al repositorio

Para empezar vamos a crear un nuevo archivo en nuestro directorio de trabajo y posteriormente lo añadiremos a nuestro repositorio. A modo de ejemplo vamos a crear un fichero llamado primero.txt. Para subir este fichero el comando que tenemos que usar es svn add. Por ejemplo sería:

svn add primero.txt

Con esto todavía no tendríamos añadido este fichero al repositorio si no que solo lo hemos añadido a la lista para que se suba en el siguiente commit. Podríamos añadir más ficheros si queremos antes de hacer commit. Antes de continuar podemos usar el comando status para ver lo que tenemos actualmente. Con nuestro ejemplo veríamos que tenemos tres archivos sin subir.

svn status

svn status

Una vez finalicemos ya podemos proceder con el commit. El comando sería:

svn commit -m “comentario del commit”

resultado commit

Actualizar un fichero de nuestro repositorio

Es normal que posteriormente a haber añadido un fichero al repositorio queramos seguir trabajando con él. Una vez finalicemos tendremos que actualizar la copia del repositorio. Para actualizar un fichero el comando sería:

svn update nombre_del_fichero
svn commit

Borrar ficheros

Puede darse el caso de que quieras borrar un fichero en local pero este no se borrará automáticamente en el repositorio. De hecho, si hacemos un checkout del repositorio veremos que tenemos nuevamente una copia del fichero que borramos.

Para evitar esto lo que tenemos que hacer es lanzar el comando correspondiente que sería:

svn delete nombre_del_archivo

Es importante tener en cuenta que esto no borrará el fichero del historial del repositorio pero cuando hagamos nuevamente checkout no restauraremos de nuevo este fichero.

Estructura de proyectos en SVN

Los proyectos suelen contener tres directorios por cada proyecto que tengamos. Los directorios serían:

-Trunk: Carpeta donde se almacena el código fuente que estamos desarrollando. Estarán todos los directorios y ficheros de nuestro proyecto. En esta carpeta estará la última versión disponible para todo el mundo.

-Tag: Se almacenan en esta carpeta las diferentes versiones de nuestro proyecto.

-Branches: Directorio donde se almacenan las ramas que tengamos creadas para desarrollo. Las ramas se pueden crear para por ejemplo implementar una nueva funcionalidad al proyecto o bien para arreglar un problema detectado.

Resumen de comandos utilizados

  • import: Con este comando subimos al repositorio la estructura inicial de nuestro proyecto.
  • checkout: Comando para descargar un proyecto desde un repositorio a nuestro espacio de trabajo.
  • status: Nos sirve para ver la situación en la que se encuentra nuestra copia local frente al repositorio.
  • add: Utilizado para añadir ficheros a la cola para ser subidos al repositorio en el próximo commit.
  • uptate: Comando que nos permite actualizar los cambios que hemos realizado en local a la copia del repositorio.
  • commit: Subir los cambios de los ficheros del proyecto local al repositorio.
  • Delete: Con este comando indicamos que ese fichero va a ser eliminado de nuestro repositorio.
  • svn, Hosting Avanzado SSD
  • 0 vez/veces marcado como útil
¿Fue útil la respuesta?

Artículos relacionados

Guía básica Drush

Drush es una herramienta de línea de comandos que te permitirá gestionar, automatizar y...

Guía básica WP-CLI

Wp-cli es una herramienta en línea de comandos que nos ofrece una serie de funcionalidades para...

Guía básica Composer

Composer es una herramienta para manejar dependencias de PHP. Su uso nos permite declarar las...

Guía básica Git

Git es un sistema de control de versiones de código abierto. Estos sistemas registran los cambios...

Acceso mediante SSH

Independientemente del sistema operativo que utilicemos vamos a necesitar los siguientes datos...