Skip to content

Tracking: Reworking includes/excludes #327

Open
@simonsan

Description

@simonsan

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-configArea: Related to the configuration fileC-refactorCategory: Refactoring of already existing code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions