20
topdir.sh
20
topdir.sh
@@ -148,8 +148,26 @@ fi
|
||||
find_cmd=(find . -type f ! -name '.topdir_snapshot' ! -name '.topdirignore')
|
||||
|
||||
for pattern in "${EXCLUDE_PATTERNS[@]}"; do
|
||||
# Normalizar el patrón:
|
||||
# Si el patrón no contiene /* ni * al final, y es un directorio, añadir /*
|
||||
# Esto permite que "logs" se convierta en "logs/*" automáticamente
|
||||
normalized_pattern="$pattern"
|
||||
|
||||
# Si el patrón no tiene wildcards ni slash al final
|
||||
if [[ "$pattern" != *\** && "$pattern" != */ ]]; then
|
||||
# Si existe como directorio, añadir /* para exclusión recursiva
|
||||
if [[ -d "./$pattern" ]]; then
|
||||
normalized_pattern="$pattern/*"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Remover / final si existe (para que "logs/" -> "logs/*")
|
||||
if [[ "$normalized_pattern" == */ && "$normalized_pattern" != *\* ]]; then
|
||||
normalized_pattern="${normalized_pattern}*"
|
||||
fi
|
||||
|
||||
# Convertir pattern a formato find -path
|
||||
find_cmd+=(! -path "./$pattern")
|
||||
find_cmd+=(! -path "./$normalized_pattern")
|
||||
done
|
||||
|
||||
# Generar nuevo snapshot: compute hash para cada archivo regular
|
||||
|
||||
Referencia en una nueva incidencia
Block a user