Está en la página 1de 3

HOWTO - Ignorar archivos o directorios de

un repositorio SVN

Pablo Nicolás Diaz Bilotto.

Introducción
Este documento indica como configurar un cliente de SVN para que ignore el manejo un
conjunto de archivos del sistema de versionado, evitando su aparición en los commits.

Para evitar que el cliente de SVN versione un conjunto de archivos, hay dos opciones de
configuración, una es seteando la propiedad svn:ignore a los archivos o directorios que
se desea ignorar; y la otra es agregando el conjunto de archivos a la variable global-
ignore del archivo de configuración del cliente, cabe aclarar que una de las opciones
afecta a TODOS los repositorios de los cuales se tiene copia local y la otra opción
solamente afecta a los archivos de un cierto repositorio en particular.

Usando propiedades
Para utilizar la propiedad svn:ignore, se debe ejecutar el siguiente comando

$ svn propset svn:ignore PROPERTY_VALUE PATH [PATH ...]

por ejemplo, ignorar los archivos .classpath del directorio jose/, el comando sería :

$ svn propset svn:ignore .classpath jose/

también es posible agregar varios archivos/directorios a la propiedad, por ejemplo

$ svn propset svn:ignore '.classpath .settings' jose/

o usar un archivo como fuente al valor de la propiedad, por ejemplo, se desea ignorar
los archivos del ejemplo anterior, pero usando el archivo ignored.txt, para lo cual, el
archivo deberá tener el nombre de los dos archivos previamente presentados y de a una
linea por archivo; Entonces, cuando se ejecute el comando cat, se deberá tener la
siguiente salida :

$ cat ignored.txt
.settings
.classpath
$

1

ejecutamos $ svn propset svn:ignore -F ignored. I jose/. como son los archivos objeto.. Un ejemplo de como debería ser el valor de esta variable seria el siguiente $ grep global-ignores ~/. la cual esta fuera del alcance de este documento.txt jose/ Para chequear que hemos hecho bien nuestro trabajo de ignorar los archivos.[0-9]* *..classpath y . cabe aclarar que el valor de la propiedad svn:ignore tambien soporta la expansión de pathnames.settings ..lo *. Valores recomendados para el projecto Como posibles valores se pueden listar los siguientes target *.so *.y para aplicar la propiedad..pyc *.dll *.subversion/config . Vale aclarar que es posible configurar a svn para que active la funcionalidad conocida como autoprop. entonces a la salida del comando deberían aparecer listados $ svn status --no-ignore .. el directorio usado por libtools y los archivos compilados de python. El valor de esta propiedad tambien soporta el uso de wilcards.a *. lo haremos utilizando el comando status y pasando el flag --no-ignore como parametro.la *. por ejemplo el siguiente comando permitiria ignorar todos los JAR del directorio jose/ $ svn propset svn:ignore '*. la cual permite la asignación automática de propiedades.subversion/config..classpath .jar *...settings fueron pasados como paramétro.. con lo cual se ignoran los tipos de archivos mas comunes dentro de un proyecto de desarrollo de software. supongamos que se ha ejecutado el comando propset sobre el directorio jose/ y que los archivos . el cual esta localizado usualmente en ~/. I jose/. las librerías dinámicas.exe 2 .al . de la misma manera que se mostro en el apartado anterior. con lo cual deberíamos ver el estado de los archivos ignorados.so.o *.libs *..pyo . global-ignores = *. Usando el archivo de configuración La otra opción es poner los archivos en la entrada global_ignore en el archivo de configuración.jar' jose/ Notese que con las comillas se evita la expansión del cuarto parametro.

............ los archivos DLL y Thumbs............settings generados por eclipse................................[0-9]* los cuales cubren a los directorios 'target' generados por maven............................ los mismos podrían incluirse las siguientes entradas : *...................... los archivos JAR.. usualmente presentes en las plataformas de Microsoft..............................classpath libs lib *............classpath y .. los cuales aparecen usualmente en plataformas *nix.............................Ignorar archivos ...so *... 0 o directorios de un repositorio SVN.............jpeg Cabe aclarar que la lista no es extensiva............db.........................o *......... 1 Usando propiedades... ya que la variedad de plataformas y herramientas usadas por cada integrante de la organización pueden ser distintas según los requerimientos que implementen y por consiguiente imposible de listar en forma extensiva............................Thumbs........................... Índice HOWTO ....settings ......... los cuales se recomienda agregar como dependencias en los archivos pom.....db ......so y sus variantes.....so................... En caso de que los archivos JPEG no sean necesarios para el funcionamiento de los programas.............jpg *................. 1 Usando el archivo de configuración .................... los archivos ................ 0 Introducción ....xml.............. 2 Índice .... y los archivos *........ 3 3 ......................... 2 Valores recomendados para el projecto ....