Usar un repositorio subversion
Subversion es un sistema de control de versiones concurrente. Su objetivo es muy similar al de CVS aunque tiene grandes ventajas sobre éste, y por eso, cada día muchos proyectos de desarrollo de software cambian a subversion.
En esta receta se explica cómo realizar las operaciones básicas con un repositorio subversion. Si necesitas crear y publicar un repositorio consulta esta otra receta
Crear un módulo
Cuando se comieza un nuevo desarrollo es necesario crear un nuevo módulo en el repositorio (algo similar a un directorio en el sistema de ficheros local). Para ello, supondremos que ya existe un repositorio accesible en <a href="http://example.com/repos
">http://example.com/repos@. Tienes que ejecutar algo similar a:
Siendo job
el directorio que contiene los ficheros del nuevo proyecto. Esto creará el módulo myjob
en el repositorio repos
del host example.com
y subirá allí el contenido de /home/user/job
, creando así la versión inicial.
Descargar un módulo
Esta es la operación más habitual y también una de las más simples:
Esto obtiene una copia de la versión HEAD del módulo anotherjob
. Crea un directorio con el mismo nombre en el directorio actual.
Actualizar una copia local
Suponiendo que haya nuevas versiones disponibles del módulo del ejemplo anterior, puedes actualizar tu copia a la última versión con:
Gestión de conflictos
ToDo
Añadir un fichero
Si has creado un fichero nuevo al módulo y quieres que esté en el repositorio tienes que añadirlo explícitamente. Recuerda que un repositorio está pensado para “fuentes” (no binarios). No subas nada que se pueda generar a partir de otros ficheros. Nada de binarios, ficheros objeto, copias de seguridad, pdf o cualquier cosa que se pueda obtener como resultado de una compilación.
Subir cambios locales al repositorio
Si eres tú el que desea subir al repositorio una nueva versión de los ficheros de ese módulo (que has modificado tú mismo), ejecuta esto:
Es este caso se abrirá el editor de texto por defecto para que añadas un comentario referente a las modificaciones que estás subiendo.
Mover un módulo
Esta es una importante mejora con respecto a CVS. En subversion se pueden renombrar y mover ficheros y módulos completos. La idea es poder cambiar la ubicación del módulo en el mismo repositorio.
Supón que quieres mover el contenido del módulo xmi2code
en <a href="http://example.com/repos/
">http://example.com/repos/</a> a @xmi2code/trunk
. Las operaciones a realizar serán las siguientes
- Renombrar (mover)
xmi2code
atrunk
- Crear el subdirectorio
xmi2code
:
- Mover
trunk
axmi2code
:
Crear una rama
Subversion permite crear flujos de desarrollo paralelos ramificando el módulo en uno o varios puntos. Para este ejemplo, supondremos que la rama principal se encuentra en el subdirectorio trunk
del módulo xmi2code
. La nueva rama tendrá por nombre vhdl
. Tendrás que ejecutar las siguientes operaciones:
- Creación del subdirectorio
branches
(en el caso de que no exista), en el que se colocará la nueva rama.
- Creación de la rama: