🧹 Filtros y máscaras de inclusión/exclusión

Cada tarea puede filtrar qué entra en la copia. Los filtros viven en filters_json de la tarea y se editan desde el diálogo de la tarea, sección Filtros.

El motor trae un catálogo de exclusiones habituales (cachés, temporales, node_modules, Thumbs.db, .DS_Store, papelera…). Se activan por id desde la app y se guardan como masks en filters_json.

Máscaras personalizadas

Crea las tuyas en el catálogo propio (meta.custom_masks, visibles en Máscaras) y referencia como custom:N.

Cómo se interpreta un patrón

Regla simple pero potente:

  • Patrón SIN barra (node_modules, *.tmp, .git): coincide con el nombre de cualquier componente de la ruta, a cualquier profundidad. Excluir una carpeta excluye todo su contenido.
  • Patrón CON barra (proyectos/viejos, /cache/): coincide con el final de la ruta relativa al origen.

Ejemplos:

PatrónExcluye
node_modulesToda carpeta node_modules donde aparezca
*.logCualquier fichero .log
backups/viejosEsa ruta concreta dentro del origen

Inclusiones

Además de exclusiones puedes definir incluir solo: patrones que acotan la copia (p. ej. solo .docx y .xlsx). Si hay inclusiones activas, lo que no coincide se ignora.

Consejos

  • Excluye lo regenerable (cachés, builds, .git si ya vigilas el repo) — copia más rápida y destino más limpio.
  • Cuidado con excluir directorios del sistema en orígenes amplios: combina filtros con un origen acotado.
  • Los filtros se evalúan en cada pasada y en los watchers: un cambio en un fichero excluido ni siquiera despierta la tarea.
  • Puedes consultar las máscaras disponibles por API: GET /api/v1/masks.