Make a leading **/ in an exclude pattern match at the top level (closes #303)
check / check (push) Waiting to run
check / check (push) Waiting to run
An unanchored exclude pattern such as **/node_modules or **/*.pyc needed a / before the name, so it excluded sub/node_modules and sub/y.pyc but backed up node_modules/ and x.pyc directly under the snapshot path. An unanchored pattern already matches at every depth, so the leading **/ is now dropped when the pattern is compiled and, as in gitignore, the pattern matches the top level too. Judgement call: an anchored /**/x is left as it was; the issue covers patterns that start with **/. Model: opus-5-5
This commit is contained in:
@@ -22,6 +22,15 @@ the tag exists and is exercised; what is left is merging `next` to
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-13: Made an exclude pattern starting with `**/` also match
|
||||
directly under the snapshot path
|
||||
([issue #303](https://git.eeqj.de/sneak/vaultik/issues/303)).
|
||||
`**/node_modules` and `**/*.pyc`, the patterns `config.example.yml`
|
||||
uses, excluded `sub/node_modules` and `sub/y.pyc` but backed up
|
||||
`node_modules/` and `x.pyc` at the top of the path, since the pattern
|
||||
required a `/` before the name. As in gitignore, such a pattern now
|
||||
matches at every depth, the top included.
|
||||
|
||||
- 2026-10-12: Rejected a retention duration longer than about 292 years
|
||||
([issue #289](https://git.eeqj.de/sneak/vaultik/issues/289)). The
|
||||
number given to `--older-than` or `--keep-newer-than` was multiplied
|
||||
|
||||
Reference in New Issue
Block a user