Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking: Reworking includes/excludes #327

Open
10 tasks
simonsan opened this issue Oct 10, 2024 · 0 comments
Open
10 tasks

Tracking: Reworking includes/excludes #327

simonsan opened this issue Oct 10, 2024 · 0 comments
Labels
A-config Area: Related to the configuration file C-refactor Category: Refactoring of already existing code

Comments

@simonsan
Copy link
Contributor

simonsan commented Oct 10, 2024

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 the source trait
  • 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 ignore crate which only works for local FS

Features to add

TODO

  • implement testing first for the current way that includes and excludes work
  • adjust the tests in the same PR that we implement the new way how includes and excludes should work
  • ignore::LocalSource::new and tree::NodeStreamer::new_with_glob share the same logic for initializing an OverrideBuilder
    • 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

@simonsan simonsan added C-refactor Category: Refactoring of already existing code A-config Area: Related to the configuration file labels Oct 10, 2024
@simonsan simonsan changed the title Reworking includes/excludes Tracking: Reworking includes/excludes Oct 10, 2024
@simonsan simonsan pinned this issue Oct 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-config Area: Related to the configuration file C-refactor Category: Refactoring of already existing code
Projects
None yet
Development

No branches or pull requests

1 participant