diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-14 21:40:12 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-14 21:40:12 +0200 |
| commit | 360591d6e18d8676a2f86185ed42f46852387f85 (patch) | |
| tree | 31043c351f6cb2c95c6b6a26d0c69dcb47ab1e3f /docs | |
| parent | e0dddff176a01d410904b6750b3395de4f7e54db (diff) | |
| download | krino-360591d6e18d8676a2f86185ed42f46852387f85.tar.gz krino-360591d6e18d8676a2f86185ed42f46852387f85.zip | |
plan 9: content excludes fail closed; krino.conf excludes checked without directories
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/design.md | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/docs/design.md b/docs/design.md index bea0e2f..3f10623 100644 --- a/docs/design.md +++ b/docs/design.md @@ -199,6 +199,13 @@ as "excluded" in the plan, listed with the form that matched under `-v`, and traced by `explain`; `check` lists every directory's exclusions. Since no rule has run yet, `(matched)` is never true inside an exclude. +An exclude fails closed: when evaluating it reaches a content test that +cannot read the file (over `max-read`, a tool missing, failing or timing +out), the exclude holds, and the file is set aside as "(content +unreadable)" with the warning. An exclude protects files, so a file krino +could not check is left alone. Mistakes in krino.conf's excludes are +reported even while no directory is included. + Unlike `ignore`, which never looks inside a file and never descends into an ignored directory, an exclude can test content and size, and is evaluated per file after the walk. @@ -248,7 +255,8 @@ UTF-8 is replaced by U+FFFD before folding. `path`, then `duplicate`, then `content`. Content is extracted at most once per file, and only if evaluation reaches a `content` test. 4. If a file's text cannot be extracted, `content` is false and the plan - shows a warning naming the rule that wanted it. + shows a warning naming the rule that wanted it. Inside an `exclude` the + whole exclude then holds instead (ยง4.6). ### 5.5 Duplicates |
