.. _dootle.utils.commit_caching: =========================== dootle.utils.commit_caching =========================== .. py:module:: dootle.utils.commit_caching .. autoapi-nested-parse:: See EOF for license/metadata/notes as applicable Functions --------- .. autoapisummary:: dootle.utils.commit_caching._build_cache_path Classes ------- .. autoapisummary:: dootle.utils.commit_caching.GetChangedFilesByCommit dootle.utils.commit_caching.CacheGitCommit Module Contents =============== .. py:function:: _build_cache_path(cache: None | pathlib.Path, taskname: doot.workflow.TaskName) -> pathlib.Path .. _dootle.utils.commit_caching.GetChangedFilesByCommit: .. py:class:: GetChangedFilesByCommit Read a cached commit, and the head commit, get git log's list of files that have changed Like job.walker, will select only files descended from `roots`, and with a suffix that matches on in `exts`, and passes `fn`, a one arg test function. (`recursive` is not used.) If cache is not specified, tried to read {temp}/{taskname}.commmit_cache If cache does not exist, diffs the past {head_count} commits .. py:attribute:: control_e .. py:method:: _test_files(spec, state, roots, exts, fn, potentials) -> list[pathlib.Path] filter found potential files by roots, exts, and a test fn .. _dootle.utils.commit_caching.CacheGitCommit: .. py:class:: CacheGitCommit Bases: :py:obj:`doot.mixins.path_manip.PathManip_m` Record the head commit hash id in a cache file if {cache} is not specified, defaults to {temp}/{taskname}.commit_cache