diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-17 13:59:52 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-17 13:59:52 +0200 |
| commit | b44222fc2b061382dc601014cde287cc41b857ca (patch) | |
| tree | 3181b6d3336bb6766803a9fc0ab76e09198aa253 /man/krino.conf.5 | |
| parent | 9ab6686b98499c745024a474a71e3d99b6e14973 (diff) | |
| download | krino-b44222fc2b061382dc601014cde287cc41b857ca.tar.gz krino-b44222fc2b061382dc601014cde287cc41b857ca.zip | |
a duplicate test in an exclude protects like one in a rule
The scopes that drive "no rule deletes a file krino found to be a
duplicate" were collected from rules only. A directory whose duplicate
tests lived in (exclude ...) forms had no scopes at all, so the
protection never engaged: krino explain said "yes duplicate" and the
next rule permanently deleted every copy. The README's promise was
false in that shape, and the spec's wording permitted it.
What matters is what krino knows, not which form taught it. The spec
and krino.conf(5) now say so too.
Diffstat (limited to 'man/krino.conf.5')
| -rw-r--r-- | man/krino.conf.5 | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/man/krino.conf.5 b/man/krino.conf.5 index a9b3ea8..1a60ecc 100644 --- a/man/krino.conf.5 +++ b/man/krino.conf.5 @@ -1319,9 +1319,13 @@ A rule combining .Ic (duplicate) with a delete action is refused .Pq Sx RULES . -And in a directory whose rules use -.Ic (duplicate) , -a file that is a duplicate under any of the duplicate scopes those rules use +And in a directory that uses +.Ic (duplicate) +\(em in a rule or in an +.Ic (exclude ...) , +since what matters is what krino knows and not which form taught it \(em +a file that is a duplicate under any of the duplicate scopes that directory +uses \(em each distinct set of .Ar dir arguments, and the plain |
