Crate git_historian [−] [src]
This crate analyzes a Git repository (by parsing
git log --name-status),
then builds a tree of the history for a provided list of files.
At each node (corresponding to a delta in the file's history), a user-provided callback is issued to gather desired information.
main.rs for a quick demo.
Builds a tree of Git history based on the stream of changes parsed from Git
A change made to a given file in a commit
A change in a file through Git history
A 20-byte SHA1 hash, used for identifying objects in Git.
A change to a file in Git (or at least the kinds we care about)
For each key in the map, the value is a branch of a tree (i.e. a linked list) of all changes. This extends past name changes
Expresses an edge between
A set of paths, used to track which files we care about