Crate gix_blame

Source
Expand description

A crate to implement an algorithm to annotate lines in tracked files with the commits that changed them.

§Terminology

  • Source File
    • The file as it exists in HEAD.
    • the initial state with all lines that we need to associate with a Source File.
  • Blamed File
    • A file at a version (i.e. commit) that introduces hunks into the final ‘image’.
  • Suspects
    • The versions of the files that can contain hunks that we could use in the final ‘image’
    • multiple at the same time as the commit-graph may split up.
    • turns into Source File once we have found an association into the Blamed File.

Structs§

BlameEntry
A mapping of a section of the Blamed File to the section in a Source File that introduced it.
Outcome
The outcome of file().
Statistics
Additional information about the performed operations.

Enums§

Error
The error returned by file().

Functions§

file
Produce a list of consecutive BlameEntry instances to indicate in which commits the ranges of the file at traverse[0]:<file_path> originated in.