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.
See main.rs
for a quick demo.
Modules
history |
Builds a tree of Git history based on the stream of changes parsed from Git |
parsing |
Parses |
Structs
FileDelta |
A change made to a given file in a commit |
HistoryNode |
A change in a file through Git history |
SHA1 |
A 20-byte SHA1 hash, used for identifying objects in Git. |
Enums
Change |
A change to a file in Git (or at least the kinds we care about) |
SHA1ParseError |
Type Definitions
HistoryTree |
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 |
Link |
Expresses an edge between |
PathSet |
A set of paths, used to track which files we care about |