Reglas .ffignore

Las reglas .ffignore indican a FlyingFiles qué archivos y carpetas no debe copiar, ni mover, ni mostrar en los resultados de búsqueda. Un ejemplo típico: subir un proyecto a un servidor sin node_modules/, .git/ ni los archivos *.log.

La sintaxis es la misma que la del archivo .gitignore, que quizá conozcas de Git.

Dónde están las reglas

Las reglas pertenecen a una carpeta concreta y están en su subcarpeta .flyingfiles/:

Project/
  .flyingfiles/
    .ffignore.txt     patrones, uno por línea
    .ffconfig.txt     ajuste: si las reglas están activadas de forma predeterminada
  src/
  node_modules/

.ffconfig.txt contiene JSON, p. ej. { "ffignore_default": true }. El valor true significa que las reglas están activadas de forma predeterminada.

Atención: Al copiar y mover, la aplicación lee las reglas de la carpeta en la que están los elementos seleccionados y, en el lado del destino, de la carpeta de destino y de las carpetas copiadas si ya existen en el destino. Al buscar, las lee de la carpeta en la que buscas. Las reglas de las carpetas situadas más arriba en el árbol no se heredan, y las reglas propias de una carpeta seleccionada no se aplican cuando la copias desde su carpeta superior.

Crear reglas

  1. En el panel activo, abre una carpeta, p. ej. la carpeta de tu proyecto.

  2. Marca los archivos y carpetas que quieras omitir (p. ej. node_modules, build). También puedes no marcar nada.

  3. Elige Funciones → Añadir archivo .ffignore.

La aplicación crea .flyingfiles/.ffignore.txt (con .flyingfiles como primera regla, para que la propia carpeta de reglas no se copie) y .ffconfig.txt con las reglas activadas de forma predeterminada. Añade los elementos marcados como patrones: una carpeta como name/ y un archivo como name. El título de la ventana muestra las rutas de ambos archivos, y el cursor se sitúa en la carpeta .flyingfiles.

Puedes editar .ffignore.txt más tarde con F4, como cualquier archivo de texto. También puedes añadir reglas desde la ventana Buscar cambios.

Dónde se aplican

OperaciónCómo
Copiar F5la ventana Copiar tiene la casilla Aplicar las reglas de .ffignore cuando la carpeta de origen o la de destino tiene reglas; su estado inicial viene de .ffconfig.txt
Mover F6las reglas se aplican automáticamente cuando .ffconfig.txt las activa
Buscar…la casilla Aplicar el archivo .ffignore
Buscar cambios…la casilla Aplicar el archivo .ffignore y los botones que añaden reglas

Las reglas funcionan en ambos sentidos:

  • las reglas de la carpeta de origen omiten los elementos coincidentes al copiar;

  • las reglas de la carpeta de destino protegen las ubicaciones coincidentes en el destino: un elemento que iría a parar a una ruta protegida se omite.

Si las reglas lo filtran todo, la aplicación avisa: «No se ha copiado nada. Comprueba si las reglas de .ffignore.txt han bloqueado la transferencia».

Sintaxis

PatrónQué omite
node_modules/todos los elementos llamados node_modules a cualquier profundidad, con todo su contenido
*.loglos archivos .log de todas las carpetas
buildun archivo o una carpeta llamados build a cualquier profundidad
/dist/solo el elemento dist situado directamente dentro de la carpeta de las reglas
docs/draftsuna ruta contada desde la carpeta de las reglas (una barra en medio ancla el patrón)
cache/*el contenido de la carpeta cache situada directamente dentro de la carpeta de las reglas, pero no la carpeta en sí
**/tmp/**la carpeta tmp a cualquier profundidad, junto con su contenido
? / [abc]un carácter cualquiera / uno de los caracteres indicados
!important.logexcepción: no omitir important.log, aunque coincida con un patrón anterior
# commentuna línea sin efecto
  • Gana el último patrón coincidente.

  • A diferencia de Git, una barra al final de un patrón (build/) no lo limita a las carpetas: también coincide con un archivo de ese nombre.

  • Las mayúsculas y minúsculas importan en todos los sistemas (*.JPG no coincide con photo.jpg).

  • Las líneas en blanco no hacen nada; los espacios finales se eliminan; \ anula el significado especial de un carácter (\#file).

Ejemplo

.flyingfiles/.ffignore.txt para el proyecto de un sitio web:

.flyingfiles
.git/
node_modules/
*.log
.DS_Store
/config/local.php

Entra en la carpeta del proyecto, selecciona todo (+) y pulsa F5 con la casilla Aplicar las reglas de .ffignore marcada: el contenido del proyecto va al servidor sin el repositorio, las dependencias, los registros, los archivos del Finder ni la configuración local, y Buscar cambios muestra solo los archivos que de verdad necesitas subir.

FlyingFiles 1.7.4 · Las funciones añadidas después de la 1.0.0 están señaladas en el texto.