Ignorando archivos y directorios

Figura 4.33. Menú contextual del explorador para archivos no versionados

Menú contextual del explorador para archivos no versionados


En la mayoría de los proyectos tendrá archivos y carpetas que no deberán estar sujetos al control de versiones. Esto puede incluir archivos creados por el compilador, *.obj, *.lst, o quizás una carpeta de salida donde se almacenan los ejecutables. Cuando confirma los cambios, TortoiseSVN le muestra los archivos no versionados, que rellenan la lista de archivos del diálogo de confirmar. Por supuesto que puede desactivarlos para que no se muestren, pero entonces quizás se olvide de añadir un nuevo archivo de código fuente.

La mejor forma de evitar estos problemas es añadir los archivos 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 archivos de código no versionados.

If you right click on a single unversioned file, and select the command TortoiseSVNAdd to Ignore List from the context menu, a submenu appears allowing you to select just that file, or all files with the same extension. Both submenus also have a (recursively) equivalent. If you select multiple files, there is no submenu and you can only add those specific files/folders.

If you choose the (recursively) version of the ignore context menu, the item will be ignored not just for the selected folder but all subfolders as well. However this requires SVN clients version 1.8 or higher.

Si desea eliminar uno o más ítems de la lista de ignorados, haga click con el botón derecho en dichos ítems y seleccione TortoiseSVNEliminar de la Lista de Ignorados También puede acceder a la propiedad svn:ignore de la carpeta directamente. Esto le permitirá especificar patrones más generales utilizando expansión de comodines en los nombres de los archivos, descrito más adelante. Para más información sobre establecer propiedades directamente, lea “Configuración del proyecto”. Por favor, tenga en cuenta que cada patrón de ignorar debe escribirse en una nueva línea. No funcionará si los separa por espacios.

La lista global de ignorados

Otra forma de ignorar archivos 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”.

Ignorando ítems versionados

Los archivos y las carpetas verisonadas nunca pueden ser ignoradas - esta es una característica de Subversion. Si ha versionado un archivo por error, lea “Ignorar archivos que ya están versionados” para ver las instrucciones sobre cómo desversionarlo.

Concordancia de patrones en las listas de ignorados

El patrón de ignorados de Subversion hace uso de la expansión de comodines en los nombres de los archivos, una técnica que originariamente se utilizaba en Unix para especificar archivos 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.

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].

Si desea una definición oficial de la expansión de comodines en los nombres de archivos, puede encontrarla en las especificaciones de la IEEE para el lenguaje de comandos del shell Notación de Patrones de Concordancia.

Sin rutas en la lista global de ignorados

No debería incluir información de ruta en su patrón. La concordancia de patrones está pensanda para usarse contra nombres de archivo planos y nombres de carpeta. Si desea ignorar todas las carpetas CVS, simplemente añada CVS a la lista de ignorados. No hay necesidad de especificar CVS */CVS como se hacía en versiones anteriores. Si desea ignorar todas las carpetas tmp que existen dentro de una carpeta prog y no dentro de una carpeta doc debería utilizar la propiedad svn:ignore. No hay una forma fiable de conseguir esto utilizando patrones globales de ignorados.