In most projects you will have files and folders that should not be subject to version control. These might include files created by the compiler, *.obj, *.lst, maybe an output folder used to store the executable. Whenever you commit changes, TortoiseSVN shows your unversioned files, which fills up the file list in the commit dialog. Of course you can turn off this display, but then you might forget to add a new source file.
La mejor forma de evitar estos problemas es añadir los ficheros derivados a la lista de ignorados del proyecto. De esta forma nunca se mostrarán en el diálogo de confirmar, pero se seguirán señalando los genuinos ficheros de código no versionados.
Si hace click con el botón derecho en un único fichero no versionado, y selecciona el comando → del menú contextual, aparecerá un submenú que le permitirá seleccionar sólo ese fichero, o todos los ficheros con la misma extensión. Si selecciona múltiples ficheros, no hay submenú y sólo puede añadir esos ficheros o carpetas específicos.
If you want to remove one or more items from the ignore list, right click on those items and select → You can also access a folder's svn:ignore property directly. That allows you to specify more general patterns using filename globbing, described in the section below. Read “Configuración del proyecto” for more information on setting properties directly. Please be aware that each ignore pattern has to be placed on a separate line. Separating them by spaces does not work.
Otra forma de ignorar ficheros es añadirlos a la lista global de ignorados. La mayor diferencia aquí es que la lista global de ignorados es una propiedad del cliente. Se aplica a todos los proyectos de Subversion, pero sólo en el PC cliente. En general es mejor utilizar la propiedad svn:ignore donde sea posible, porque puede aplicarse a áreas del proyecto específicas, y funciona para todos los que obtengan el proyecto. Para más información, lea la “Configuración general”.
Los ficheros y las carpetas verisonadas nunca pueden ser ignoradas - esta es una característica de Subversion. Si ha versionado un fichero por error, lea “Ignorar ficheros que ya están versionados” para ver las instrucciones sobre cómo “desversionarlo”.
El patrón de ignorados de Subversion hace uso de la expansión de comodines en los nombres de los ficheros, una técnica que originariamente se utilizaba en Unix para especificar ficheros utilizando meta-caracteres como son los comodines. Los siguientes caracteres tienen un significado especial:
Concuerda con cualquier cadena de caracteres, incluyendo la cadena vacía (sin caracteres).
Concuerda con un único cáracter cualquiera.
Concuerda con cualquiera de los caracteres incluídos entre los corchetes. Dentro de los corchetes, un par de caracteres separados por “-” concuerda con cualquier caracter existente entre los dos en el orden lexicográfico. Por ejemplo, [AGm-p] concuerda con cualquiera de estos: A, G, m, n, o o p.
Subversion utiliza la / como el delimitador de ruta en todos los nombres de ruta internos, y todas las concordancias de patrones se hacen contra este estilo de nombres de rutas. Si desea utilizar un delimitador de ruta en su patrón de ignorado, asegúrese de utilizar /, y no la barra invertida de Windows.
La concordancia de patrones distingue entre mayúsculas y minúsculas, lo que puede causar problemas en Windows. Puede forzar que no se distingan a lo bruto, emparejando los caracteres; es decir, por ejemplo, para ignorar *.tmp sin tener en cuenta las mayúsculas y minúsculas, puede utilizar un patrón como *.[Tt][Mm][Pp].
Subversion utiliza esta concordancia de patrones contra cada ruta que se le presenta para la acción. Estas rutas son generalmente relativas al directorio contra el que se realiza la importación, añadido, confirmación, etc. El patrón de concordancia por lo tanto tiene que tener el cuenta el hecho de que puede o no haber partes de ruta antes del nombre del fichero.
If directory names are present in a path, the matching algorithm will not trim them off, so pattern Fred.* will match Fred.c but not subdir/Fred.c. This is significant if you add a folder which contains some files that you want to be ignored, because those filenames will be preceded with the folder name when Subversion compares them with the ignore pattern.
El carácter / no se trata de ninguna forma especial para los propósitos de concordancia de patrones, por lo que el patrón abc*xyz concordaría con abcdxyz pero también con abcdir/subdir/anything/morexyz.
To ignore all CVS folders you should either specify a pattern of *CVS or better, the pair CVS */CVS. The first option works, but would also exclude something called ThisIsNotCVS. Using */CVS alone will not work on an immediate child CVS folder, and CVS alone will not work on sub-folders.
Si desea una definición oficial de la expansión de comodines en los nombres de ficheros, puede encontrarla en las especificaciones de la IEEE para el lenguaje de comandos del shell Notación de Patrones de Concordancia.