pub struct SkipPolicy { /* private fields */ }Expand description
Which directories a snapshot walks past.
A NAME alone is only a guess: plenty of projects keep real, irreplaceable
source in a folder called build/, and Go projects commit vendor/.
Skipping those by name would mean undo could never bring them back — a
data-loss bug in a tool that exists to prevent data loss.
So a directory is skipped only when BOTH hold:
- its name is on the list (it is the KIND of thing that gets rebuilt), and
- git already ignores it (the project itself declares it disposable).
Gitignored-but-not-a-build-dir (.env, a local database) is captured —
that is precisely what git does NOT protect and what doover is for.
Outside a git repo there is no disposability signal, so the name list is all there is; the fallback is name-only. Every other uncertainty (no repo root, unreadable .gitignore, a nested ignore we did not load) resolves toward CAPTURING: being slower is recoverable, being lossy is not.