Comandos básicos de SVN
Hasta ahora siempre había utilizado herramientas con interfaz gráfica para interactuar con un repositorio subversion, RapidSVN en Linux y TortoiseSVN en Windows.
Esta tarde he tenido que hacer una excepción, haciendo unas prácticas de una asignatura he interactuado con el repositorio SVN directamente con el comando svn; pienso que usarlo mediante comando es bastante útil, sobre todo en entornos en los que usar una GUI es imposible o para solucionar algún problema, preferimos hacerlo directamente sin una vista sobre una aplicación más pesada. Sea cual sea vuestro caso, a continuación os dejo un breve resumen de los comandos básicos de svn:
svn import
A través de este comando enviaremos de forma recursiva el contenido de una ruta a un servidor SVN. Si omitimos la ruta local se establecerá el directorio actual. Un ejemplo de uso podría ser:
ahornero@6581-D:~/practica$ svn import –username ahornero –password 12987Guh2436 https://ahornero.com/svn/practica
svn checkout o svn co
Este comando se utiliza para hacernos directamente con un árbol de un directorio del repositorio SVN. Un ejemplo de uso podría ser el siguiente:
ahornero@6581-D:~/practica$ svn co –username ahornero –password 12987Guh2436 https://ahornero.com/svn/practica
svn add
Cuando se crea un nuevo archivo o directorio, hemos de indicarselo explicitamente al servidor SVN. Es importante saber que el hecho de indicar no significa subirlo, hasta no hacer un commit no se interactuará con el servidor en este sentido.
svn delete
Análogo a add para eliminar, y uso similar.
svn status
Con este comando imprimiremos el estado de los directorios y archivos. Si hemos hecho cambios locales, se mostrarán los elementos modificados localmente. Si utilizamos el parámetro –verbose, obtendremos información de la revisión de cada elemento. Con el parámetro –show-updates, mostraremos los que están fuera de fecha (out-of-date)
svn update o svn up
Así, sincronizaremos nuestro directorio local con el servidor. Si hemos hecho cambios locales, trataremos de combinar los cambios en el servidor con los cambios en el equipo; es importante destacar que este comando no afecta al servidor, si no al equipo local únicamente.
svn commit o svn ci
Este comando envía recursivamente los cambios al servidor SVN. Se hará entonces un commit de los archivos modificados, añadidos y borrados. Hemos de tener en cuenta que para evitar que afecte a todo el directorio, podemos indicar explícitamente la ruta específica o los archivos afectados, simplemente los añadimos al final del comando.
A través de la opción -m podemos añadir un mensaje determinado, la forma de usar es la siguiente:
ahornero@6581-D:~/practica$ svn commit -m “Registro alpha actualizado”.
svn diff
Este comando es similar al conocido comando diff de UNIX, de hecho, la forma de utilizarlo es similar. Podremos saber que cambios existen entre dos revisiones usándolo svn diff-r revision1:revision2 nombre_archivo. Por ejemplo:
ahornero@6581-D:~/practica$ svn diff -r 145:146 práctica.odt
, lo que retornará los cambios entre la revisión 145 y 146 para el fichero práctica.odt.
Y esto es todo, ¿alguna duda o sugerencia?