pub fn filter_process<R, W, F>(
store: &Store,
input: R,
output: W,
fetch: F,
skip_smudge: bool,
clean_extensions: &[CleanExtension],
smudge_extensions: &[SmudgeExtension],
smudge_path_filter: &dyn Fn(&str) -> bool,
) -> Result<(), FilterProcessError>Expand description
Run the filter-process protocol against input/output (typically
stdin/stdout). Returns when git closes its end of the pipe.
fetch is called when a smudge request hits an object that isn’t in
the local store; see smudge_with_fetch for semantics. If fetching
is not supported in the caller’s context, pass a closure that always
errors — the protocol will then surface those smudges as status=error
to git, same as if smudge hit ObjectMissing.
skip_smudge reflects the upstream GIT_LFS_SKIP_SMUDGE env var.
When true, smudge requests pass the pointer text through
unchanged: the working-tree file ends up holding pointer text
and git lfs pull (or another smudge run) is the recovery
path. Clean requests are unaffected.