Skip to main content

Module git_scanner

Module git_scanner 

Source
Expand description

Git repository scanner using gitoxide (gix).

Provides commit walking, tree traversal, and blob reading for the scan pipeline.

§Performance

  • Pure Rust: gix avoids FFI overhead and is faster than libgit2.
  • Subtree caching: SubtreeCache makes tree walks O(changed_dirs) instead of O(all_dirs) across consecutive commits.
  • Lazy iteration: Ancestor walks use iterators to stay memory-friendly.

Structs§

SubtreeCache
Cache for subtree walk results. Persists across commits so unchanged directory subtrees (same tree OID) are never re-traversed.

Functions§

get_commits_in_order
Returns the list of valid commits in order.
get_commits_since
Returns commits from HEAD to a known commit (exclusive).
get_tree_for_commit
Returns the tree ObjectId for a given commit hash.
walk_tree_entries_cached
Walks a Git tree with subtree-level caching.