Clarify directory pruning semantics and nested exclusion/inclusion rules

This commit is contained in:
Andrea Mazzoleni 2026-08-26 12:29:13 +02:00
parent 932b5e567e
commit 7b2007e503
42 changed files with 1315 additions and 0 deletions

View file

@ -1564,6 +1564,11 @@ Se nessun pattern corrisponde, il file viene escluso se l\'ultimo
pattern specificato è un \`include\`, o incluso se l\'ultimo pattern
specificato è un \`exclude\`.
.PP
Si noti che il filtraggio avviene gerarchicamente durante l\'attraversamento
delle directory. Se una directory corrisponde a una regola \`exclude\`,
l\'intero sottoalbero viene saltato (potato), e le regole \`include\` per file
o sottocartelle al suo interno non verranno valutate.
.PP
Vedere la sezione PATTERN per maggiori dettagli sulle specifiche
del pattern.
.PP
@ -2219,6 +2224,47 @@ include /pictures/
.PD
.RE
.PP
Si noti che l\'esclusione di una directory (utilizzando DIR/ o /PATH/DIR/)
impedisce a SnapRAID di entrare e scansionare quella directory.
Pertanto, non è possibile re\-includere un file o una sottodirectory
all\'interno di una cartella genitore esclusa, poiché il suo contenuto
non viene mai scansionato.
.PP
Ad esempio, la seguente configurazione NON includerà \`file.dat\` perché
\`/keep/\` viene saltata prima che \`file.dat\` possa essere esaminato:
.PP
.RS 4
# NON funziona: /keep/ viene saltata completamente
.PD 0
.PP
.PD
include /keep/file.dat
.PD 0
.PP
.PD
exclude /keep/
.PD 0
.PD
.RE
.PP
Per escludere i file all\'interno di una cartella mantenendone alcuni
specifici, specificare il pattern dei file anziché escludere la directory
stessa:
.PP
.RS 4
# Funziona: /keep/ viene attraversata, ma gli altri file sono esclusi
.PD 0
.PP
.PD
include /keep/file.dat
.PD 0
.PP
.PD
exclude /keep/*
.PD 0
.PD
.RE
.PP
Sulla riga di comando, utilizzando l\'opzione \-f, è possibile utilizzare
solo pattern \`include\`. Ad esempio:
.PP