Conceptos basicos sobre subversion

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

Enlaces relacionados

Un buen resumen

Leave a Reply

Your email address will not be published. Required fields are marked *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

LesOlivex