miércoles, 14 de octubre de 2009

Control de versiones en SVN

Publicado por Covent en 10:34 ,
A continuación varios comandos para la administración de SVN:

Varios

* checkout: Saca el fichero del repositorio y lo almacena localmente para poder trabajar con él.
* checkin: Una vez realizados los cambios, volcamos el fichero al repositorio donde estará disponible para el resto de desarrolladores.
* status: Indica el estado actual del fichero.
* log: Saca un listado con las revisiones del fichero

Iniciando Subversion

svnadmin create /var/svn
Iniciando proyectos

Nos colocamos en directorio donde tenemos el proyecto y lo importamos svn mkdir file:///var/svn/gcm svn import gcm file:///var/svn/gcm
Actualizar con remoto

svn up


Volver a una versión anterior


svn up -r2


Volver atrás con un archivo concreto


svn update -r


Añadir de un golpe todos los ficheros con interrogante

#!/bin/bash
DIFS="$IFS" ; IFS=$'\n'
for x in $(svn status | grep ^? | awk -v FS='? ' '{print $2}') ; do
svn add "$x"
done
IFS="$DIFS"


lo mismo con los borrados:

#!/bin/bash
DIFS="$IFS" ; IFS=$'\n'
for x in $(svn status | grep ^! | awk -v FS='! ' '{print $2}') ; do
svn del "$x"
done
IFS="$DIFS"

Descartar archivos a tener en cuenta


Con svn propedit svn:ignore
, nos pedira una lista de rutas en formato de expresión regular para detectar los archivos o directorios que queremos descartar de ser tratados por subversión

Ejemplo para descartar archivos de log que actualmente estan en repositorio.

svn remove log/*
svn commit -m 'borrar todos los ficheros de log de subversion'
svn propset svn:ignore "*.log" log/
svn update log/
svn commit -m 'ignorar todos los ficheros en log/ que terminen en .log

Dividir proyectos

Teniendo Scripts, proyectos y gcm dentro de un mismo repositorio vamos a dividirlos

Primero creamos los proyectos:

svnadmin create /var/svn/Scripts
svnadmin create /var/svn/proyectos
svnadmin create /var/svn/gcm

Generamos copia del actual | filtramos | añadimos:

svnadmin dump /var/svn/ | svndumpfilter exclude proyectos Scripts | svnadmin load /var/svn/gcm
svnadmin dump /var/svn/ | svndumpfilter exclude proyectos gcm | svnadmin load /var/svn/Scripts
svnadmin dump /var/svn/ | svndumpfilter exclude Scripts gcm | svnadmin load /var/svn/proyectos



Un buen resumen

Back Top

0 comentarios:

Publicar un comentario