aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/design.md10
1 files changed, 6 insertions, 4 deletions
diff --git a/docs/design.md b/docs/design.md
index 3037308..6299288 100644
--- a/docs/design.md
+++ b/docs/design.md
@@ -295,10 +295,12 @@ jdupes. Two rules enforce this:
1. A rule whose condition contains `(duplicate)` cannot contain a `delete`
action (§4.5).
-2. In a directory whose rules use `(duplicate)`, a file that is a duplicate
- under any of the duplicate scopes those rules use — each distinct set of
- DIRs, and the plain `(duplicate)`, looked up for the file whether or not
- evaluation reached that test — gets no delete step from any rule. The
+2. In a directory that uses `(duplicate)` — in a rule or in an `(exclude
+ ...)`, since what matters is what krino knows and not which form taught
+ it — a file that is a duplicate under any of the duplicate scopes that
+ directory uses — each distinct set of DIRs, and the plain `(duplicate)`,
+ looked up for the file whether or not evaluation reached that test —
+ gets no delete step from any rule. The
plan shows the step as "skipped: a duplicate is never deleted" and the
rest of the chain continues from the file's current path. This covers what
rule 1 cannot see: a later rule deleting through `(matched)` or through a