class documentation

class FilterRegistry:

Constructor: FilterRegistry(config, repo)

View In Hierarchy

Registry for filter drivers.

Method __del__ Clean up filter drivers on destruction.
Method __init__ Initialize FilterRegistry.
Method close Close all filter drivers, ensuring process cleanup.
Method get_driver Get a filter driver by name.
Method register_driver Register a filter driver instance.
Method register_factory Register a filter driver factory.
Instance Variable config Undocumented
Instance Variable repo Undocumented
Method _create_from_config Create a filter driver from config.
Method _create_lfs_filter Create LFS filter driver.
Method _create_text_filter Create text filter driver for line ending conversion.
Method _setup_line_ending_filter Automatically register line ending filter if configured.
Instance Variable _drivers Undocumented
Instance Variable _factories Undocumented
def __del__(self):

Clean up filter drivers on destruction.

def __init__(self, config: StackedConfig | None = None, repo: BaseRepo | None = None):

Initialize FilterRegistry.

Parameters
config:StackedConfig | NoneGit configuration stack
repo:BaseRepo | NoneRepository instance
def close(self):

Close all filter drivers, ensuring process cleanup.

def get_driver(self, name: str) -> FilterDriver | None:

Get a filter driver by name.

def register_driver(self, name: str, driver: FilterDriver):

Register a filter driver instance.

def register_factory(self, name: str, factory: Callable[[FilterRegistry], FilterDriver]):

Register a filter driver factory.

config =

Undocumented

repo =

Undocumented

def _create_from_config(self, name: str) -> FilterDriver | None:

Create a filter driver from config.

def _create_lfs_filter(self, registry: FilterRegistry) -> FilterDriver:

Create LFS filter driver.

def _create_text_filter(self, registry: FilterRegistry) -> FilterDriver:

Create text filter driver for line ending conversion.

This filter is used when files have the 'text' attribute set explicitly. It always normalizes line endings on checkin (CRLF -> LF).

def _setup_line_ending_filter(self):

Automatically register line ending filter if configured.

_drivers: dict[str, FilterDriver] =

Undocumented

Undocumented