HOWTO: Repositorio local de Subversion con Gentoo
Subversion es un software de control de versiones diseñado como un reemplazo de CVS. Este tipo de software permite entre otras cosas:
- Llevar un historial de los cambios realizados sobre un conjunto de archivos.
- Desplazarnos sobre dicho historial permitiéndonos hacer que dichos archivos recuperen el estado que tenían tiempo atrás.
- Mantener diferentes versiones de nuestro código en distintas “ramas” que podremos unir cuando lo necesitemos
- Facilita la colaboración entre desarrolladores.
El objetivo de este HOWTO es instalar y configurar un servidor de Subversion en nuestra máquina local con Gentoo para que nos facilite el control de versiones del software que desarrollamos. No prepararemos el servidor para que permita el uso por parte de varios usuarios esto lo dejaremos para algún HOWTO posterior.
Para ello me basaré en este HOWTO del wiki de Gentoo, sin embargo suprimiré buena parte de su contenido para hacerlo más corto y simple. Cuando terminemos dispondremos de un repositorio local de Subversion.
NOTA: No explicaré los detalles de uso de Subversion, si quieres aprender más acerca de este sistema de control de versiones te recomiendo que le eches un vistazo al libro “Control de versiones con Subversion”
Instalando
Para instalarlo en Gentoo solo necesitamos hacer:
-
-
emerge -va subversion
-
Cuando termine la instalación tendremos Subversion instalado en nuestra máquina.
Creando un repositorio e importando nuestro código
El respositorio es el lugar donde se almacenan nuestro código, el historial de cambios que realizamos sobre él y la configuración.
En nuestro ejemplo crearemos un repositorio local en nuestra carpeta de usuario. Para ello ejecutaremos en consola como usuario normal:
-
-
svnadmin create ~/carpetadelrepositorio
-
Podemos crear el repositorio en cualquier carpeta, en mi caso la carpeta es ~/trabajo/svn. Existen diferentes esquemas con los que podemos trabajar, un repositorio para cada proyecto o un único repositorio para todos los proyectos. Para facilitar el mantenimiento y por una simple cuestión de economía de escala usaremos el segundo esquema.
El resto de la organización del respositorio es una cuestión personal pero por comodidad lo mejor es organizarlo como se explica aquí.
/proyecto1/trunk
/proyecto1/branches
/proyecto1/tags
/proyecto2/trunk
/proyecto2/branches
/proyecto2/tags
- trunk es el directorio en el que se llevará a cabo el desarrollo principal del proyecto
- branches es un directorio que contendrá ramas diferentes de la principal
- tags constiene diferentes snapshots del repositorio a lo largo del tiempo, que además tendrán un nombre determinado. Esto puede servir, por ejemplo para recordar que la versión 1.0 de nuestro proyecto corresponde con la revisión 157.
De esta forma el directorio trunk de nuestro proyecto contendrá el código que queremos añadir al repositorio y los otros 2 directorios estarán vacios. Ahora, para añadir el directorio al repositorio ejecutamos:
-
-
svn import ~/proyecto1/ file:///home/usuario/carpetadelrepositorio/proyecto1 -m "Import inicial del proyecto 1"
-
Ahora ya tenemos nuestro código en la carpeta proyecto1 de nuestro repositorio. Podemos comprobar su contenido con el comando:
-
-
svn list –verbose file:///home/usuario/carpetadelrepositorio/proyecto1
-
Listo, ahora “let’s code!”
Ya tenemos el código en el repositorio, ahora solo tenemos que usar Subversion con nuestro cliente favorito. Como Kdesvn o Subclipse.
Post a Comment