Skip to main content

Module filter

Module filter 

Source
Expand description

The long-running filter: one process for a whole git operation.

Registering filter.git-xcrypt.process rather than clean/smudge is not an optimisation. With the catch-all attribute git hands us every file in the repository, and a process per file measured 12 105 ms against 596 ms for one long-running process on the same 2000 files.

Everything the protocol says goes over stdout, which makes the rule from AGENTS.md absolute here: no println! anywhere beneath this module.

Structs§

Context
What the repository can tell the filter, resolved once per process.

Functions§

run
Runs the protocol to completion on the given streams.