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 Subversionsvnadmin 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 concretosvn update -r
Añadir de un golpe todos los ficheros con interrogante#!/bin/bashDIFS="$IFS" ; IFS=$'\n'for x in $(svn status | grep ^? | awk -v FS='? ' '{print $2}') ; dosvn add "$x"doneIFS="$DIFS"lo mismo con los borrados:
#!/bin/bashDIFS="$IFS" ; IFS=$'\n'for x in $(svn status | grep ^! | awk -v FS='! ' '{print $2}') ; dosvn del "$x"doneIFS="$DIFS"
Descartar archivos a tener en cuentaCon 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 proyectosTeniendo 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