Skip to content

feat: add .fsignore support to filter files from HostFS passthrough#328

Open
driucorado wants to merge 1 commit into
tursodatabase:mainfrom
driucorado:feat/fsignore
Open

feat: add .fsignore support to filter files from HostFS passthrough#328
driucorado wants to merge 1 commit into
tursodatabase:mainfrom
driucorado:feat/fsignore

Conversation

@driucorado

Copy link
Copy Markdown

Add a .gitignore-compatible .fsignore file that hides matching files and directories from the HostFS layer, making them invisible to OverlayFS, FUSE, and NFS — as if they don't exist on the host filesystem.

  • New FsIgnore module using the ignore crate for pattern matching
  • Integrated into both Darwin (path-based) and Linux (O_PATH fd-based) HostFS
  • Filters applied in lookup(), readdir(), and readdir_plus()
  • The .fsignore file itself is never ignored, even if matched by a wildcard
  • Patterns loaded once at HostFS::new() time (no runtime reloading)
  • 8 unit tests for FsIgnore + 5 integration tests per platform

Add a .gitignore-compatible .fsignore file that hides matching files and
directories from the HostFS layer, making them invisible to OverlayFS,
FUSE, and NFS — as if they don't exist on the host filesystem.

- New FsIgnore module using the `ignore` crate for pattern matching
- Integrated into both Darwin (path-based) and Linux (O_PATH fd-based) HostFS
- Filters applied in lookup(), readdir(), and readdir_plus()
- The .fsignore file itself is never ignored, even if matched by a wildcard
- Patterns loaded once at HostFS::new() time (no runtime reloading)
- 8 unit tests for FsIgnore + 5 integration tests per platform
@penberg

penberg commented Mar 26, 2026

Copy link
Copy Markdown
Collaborator

@driucorado The feature makes sense, but the PR does not pass the CI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants