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 |