git-annex/doc/todo/introspect_preferred_content_expressions.mdwn
Joey Hess c1b4d76e6b
make MatchFiles introspectable
matchNeedsFileContent is not used yet, but shows how to add information
about terminals. That one would be needed for
https://git-annex.branchable.com/todo/sync_fast_import/

Note the tricky bit in Annex.FileMatcher.call where it folds over the
included matcher to propagate the information.

This commit was sponsored by Svenne Krap on Patreon.
2020-09-24 14:01:53 -04:00

21 lines
711 B
Markdown

Several todos need to examine preferred content expressions to see if
any of the terms in them match some criteria.
That includes:
* [[todo/sync_fast_import]]
* [[todo/faster_key_lookup_for_limits]]
* [[todo/skip_first_pass_in_git_annex_sync]]
Internally, preferred content expressions are compiled
into a `Matcher (AssumeNotPresent -> MatchInfo -> Annex Bool)`
The presence of the function there is a problem, because haskell does not
allow comparing functions for equality. So probably what is needed is
something that contains that function but also indicates which preferred
content term it's for.
Or, perhaps, not the term, but the specific criteria needed by each such
todo.
> [[done]] --[[Joey]]