Cuando trabajamos con un control de versiones de ficheros como Subversion tenemos que tener la opción de poder crear versiones, restaurarlas, etc.

En este artículo se detallan los comandos más útiles que podemos ejecutar con un servidor Subversion.

Con el comando "svn" se ejecutarán todas las sentencias. Siempre que lo ejecutemos nos pedirá usuario y contraseña para validarnos con el servidor de Subversion. Si queremos evitar esto simplemente añadimos la opción "--username":

svn --username usuario PARAMETROS  


Crear un directorio en el repositorio

svn mkdir http://www.midominio.com/svn/documentos


Subir ficheros al repositorio

Para subir un fichero específico ejecutamos:

svn import file.txt http://www.midominio.com/svn/documentos


Obtener ficheros de un directorio

Para descargarnos los ficheros de un directorio ejecutamos:

svn co http://www.midominio.com/svn/documentos/


Obtener una revisión

Para descargarnos los ficheros de una revisión específica ejecutamos:

svn co --revision 324 https://www.midominio.com/svn/documentos/


Subir ficheros modificados

Para subir los ficheros modificados en local al SVN ejecutamos:

svn commit


Actualizar nuestra copia local

Para actualizar nuestra copia local con los ficheros de la última revisión que exista en el SVN ejecutamos:

svn update


Comparar versiones

Podemos comparar la versión 4 y 3 de un fichero:

svn diff -r 4:3 documentos/file.txt 


Ver logs

Para ver un log de las últimas acciones realizadas en el SVN ejecutamos:

svn log

Si queremos ver el log de un fichero específico:

svn log documentos/file.txt

 

Ver el contenido de un fichero

Para ver el contenido de un fichero ejecutamos:

svn cat documentos/file.txt

 

Si queremos especificar una revision ejecutamos:

svn cat -r 9899 documentos/file.txt

 

Ver los cambios que se aplicarán en el siguiente commit

Esto listará los ficheros que se modificarán en el servidor cuando se ejecute un "svn commit".

svn status
A    svn/trunk/subversion/tests/cmdline/svneditor.bat
M svn/trunk/subversion/tests/cmdline/import_tests.py
! svn/trunk/subversion/tests/cmdline/svnadmin_tests.py

 

Los códigos de la izquierda son los indicadores de estado y se pueden ver con el comando:

svn help status 

Aquí se enseñan los indicadores más importantes:

     ' ' no hay modificaciones
'A' Agregado
'C' Presenta conflicto
'D' Eliminado
'I' Ignorado
'M' Modificado
'R' Reemplazado
'X' Este ítem no está versionado, pero es usado por una
definición de externals
'?' el ítem no está bajo control de versiones
'!' ítem faltante (removido por un comando ajeno a svn) o incompleto
'~' ítem versionado obstruido por algún otro ítem de un tipo diferente
'L' Copia bloqueada

 

Si queremos ejecutar un "svn status" con las columnas formateadas (para que se vea más ordenado) ejecutamos:

svn log |egrep 'line|lines'|sed s/"|"/'\t\t'/g|sed s/'^r'/""/g

 

Listar un directorio

Para listar un directorio ejecutamos:

svn list http://www.midominio.com/svn/documentos/