rustic_core
rustic_core copied to clipboard
Tracking: Reworking includes/excludes
Open questions
- [ ] What are the pain points we are trying to fix?
- [ ] main pain point is that we do rely on
ignore's logic, which currently is preventing us from implementing other sources easily... But it may be that in order to implement some include/exclude logic, we may have to modify thesourcetrait
- [ ] main pain point is that we do rely on
- [ ] when we decide to add backup possibilities from other sources (opendal, rclone,..), we also need options to include/exclude which should be general and not depending on the specific backend. Currently, the includes/excludes are handled by the
ignorecrate which only works for local FS
Features to add
- [ ] add something like
exclude-fnusingrhai: https://github.com/rustic-rs/rustic/issues/1317
TODO
- [ ] implement testing first for the current way that includes and excludes work
- [ ] we should also implement a more high-level test in
rusticitself, to make sure, we check if the overall behaviours will stay the same or not (breaking changes): https://github.com/rustic-rs/rustic/issues/1318
- [ ] we should also implement a more high-level test in
- [ ] adjust the tests in the same PR that we implement the new way how includes and excludes should work
- [ ]
ignore::LocalSource::newandtree::NodeStreamer::new_with_globshare the same logic for initializing anOverrideBuilder- [ ] we should probably refactor that to a module that contains only logic for glob handling will also make it easier to test, I guess
- [ ] this should be source-independent (or at least we should have a source-independent glob handling for include/exclude and maybe additional some source-dependent include/exclude like one-filesystem) so that we can work on other sources and fix the open issues about the ignore things
Related
- Milestone: https://github.com/rustic-rs/rustic/milestone/3