What was wrong: an exclude pattern starting with **/ needed a / before the name. **/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 directly under the snapshot path.
What changed: when an unanchored pattern is compiled, a leading **/ is dropped. An unanchored pattern already matches at every depth, so the pattern keeps its nested matches and, as in gitignore, now also matches at the top level. Two tests cover a directory pattern and a file pattern, each matched at the top level and nested.
Judgement call: an anchored /**/x is unchanged and still misses a top-level x; the issue covers patterns that start with **/.
Model: opus-5-5
Fixes https://git.eeqj.de/sneak/vaultik/issues/303.
**What was wrong:** an exclude pattern starting with `**/` needed a `/` before the name. `**/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` directly under the snapshot path.
**What changed:** when an unanchored pattern is compiled, a leading `**/` is dropped. An unanchored pattern already matches at every depth, so the pattern keeps its nested matches and, as in gitignore, now also matches at the top level. Two tests cover a directory pattern and a file pattern, each matched at the top level and nested.
Judgement call: an anchored `/**/x` is unchanged and still misses a top-level `x`; the issue covers patterns that start with `**/`.
Model: opus-5-5
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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fixes #303.
What was wrong: an exclude pattern starting with
**/needed a/before the name.**/node_modulesand**/*.pyc, the patternsconfig.example.ymluses, excludedsub/node_modulesandsub/y.pycbut backed upnode_modules/andx.pycdirectly under the snapshot path.What changed: when an unanchored pattern is compiled, a leading
**/is dropped. An unanchored pattern already matches at every depth, so the pattern keeps its nested matches and, as in gitignore, now also matches at the top level. Two tests cover a directory pattern and a file pattern, each matched at the top level and nested.Judgement call: an anchored
/**/xis unchanged and still misses a top-levelx; the issue covers patterns that start with**/.Model: opus-5-5
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.