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

@ -1441,6 +1441,10 @@ sync 프로세스에서 제외하거나 포함할 파일 또는 디렉토리 패
일치하는 패턴이 없으면, 지정된 마지막 패턴이 \`include\`이면
파일은 제외되고, \`exclude\`이면 포함됩니다.
.PP
필터링은 디렉토리 순회 중에 계층적으로 수행됩니다. 디렉토리가 \`exclude\`
규칙과 일치하면 해당 디렉토리 전체가 건너뛰어지며(가지치기됨), 그 안에
있는 파일이나 하위 디렉토리에 대한 \`include\` 규칙은 평가되지 않습니다.
.PP
패턴 사양에 대한 자세한 내용은 PATTERN 섹션을 참조하십시오.
.PP
이 옵션은 여러 번 사용될 수 있습니다.
@ -2035,6 +2039,45 @@ include /pictures/
.PD
.RE
.PP
디렉토리를 제외하면(DIR/ 또는 /PATH/DIR/ 사용) SnapRAID가 해당 디렉토리에
진입하여 스캔하는 것이 차단됩니다. 따라서 제외된 상위 디렉토리 내에 있는
파일이나 하위 디렉토리는 스캐너가 탐색하지 않으므로 \`include\` 규칙으로 다시
포함할 수 없습니다.
.PP
예를 들어, 다음 설정에서는 \`/keep/\`이 가지치기되므로 \`file.dat\`가 포함되지
않습니다:
.PP
.RS 4
# 의도대로 작동하지 않음: /keep/ 전체를 건너뜀
.PD 0
.PP
.PD
include /keep/file.dat
.PD 0
.PP
.PD
exclude /keep/
.PD 0
.PD
.RE
.PP
디렉토리 자체를 제외하지 않고 특정 파일만 유지하면서 내부 파일들을 제외하려면,
디렉토리 자체가 아니라 내부의 파일 패턴을 제외하십시오:
.PP
.RS 4
# 의도대로 작동함: /keep/을 순회하지만 내부의 다른 파일들은 제외됨
.PD 0
.PP
.PD
include /keep/file.dat
.PD 0
.PP
.PD
exclude /keep/*
.PD 0
.PD
.RE
.PP
명령줄에서 \-f 옵션을 사용할 때 \`include\` 패턴만 사용할 수 있습니다.
예를 들어:
.PP