fix .topdirignore

Signed-off-by: ale <ale@manalejandro.com>
Este commit está contenido en:
ale
2025-11-01 17:35:58 +01:00
padre 5e520b42df
commit b12c3ebfa1
Se han modificado 3 ficheros con 70 adiciones y 18 borrados

Ver fichero

@@ -123,27 +123,54 @@ deleted,"./old.log"
Excluye patrones específicos (puede repetirse):
```bash
# Excluir logs y temporales
# Excluir extensiones
./topdir.sh --exclude "*.log" --exclude "*.tmp" /data
# Excluir directorios completos
# Excluir carpetas completas (recursivamente)
./topdir.sh --exclude "node_modules" --exclude "logs" /project
# O con formato explícito:
./topdir.sh --exclude "node_modules/*" --exclude ".git/*" /project
# Excluir subdirectorios específicos
./topdir.sh --exclude "src/test/*" --exclude "docs/drafts" /project
```
**Tip**: Si el patrón es solo un nombre de carpeta (sin `*` ni `/` al final), el script verifica si existe como directorio y automáticamente añade `/*` para exclusión recursiva.
#### Archivo .topdirignore
Crea un archivo `.topdirignore` en el directorio monitoreado con patrones (similar a `.gitignore`):
```bash
# .topdirignore
# Extensiones - excluye archivos con estas extensiones en cualquier ubicación
*.log
*.tmp
node_modules/*
.git/*
__pycache__/*
*.pyc
# Carpetas - excluye recursivamente (automático)
node_modules
.git
__pycache__
cache
logs
build
# También puedes usar estos formatos (equivalentes):
node_modules/
node_modules/*
# Patrones específicos
temp/*
dist/*.js
```
**Importante**: Para excluir carpetas, simplemente pon el nombre de la carpeta. El script automáticamente lo convierte a exclusión recursiva (añade `/*`). Los siguientes formatos son equivalentes:
- `logs` → excluye `logs/*` (todo dentro de logs/)
- `logs/` → excluye `logs/*`
- `logs/*` → excluye `logs/*`
Luego ejecuta normalmente:
```bash