A crate to implement an algorithm to annotate lines in tracked files with the commits that changed them.
Terminology
- Blamed File
- The file as it exists in
HEAD. - the initial state with all lines that we need to associate with a Source File.
- The file as it exists in
- Source File
- A file at a version (i.e., commit) that introduces hunks into the final 'image' of the Blamed File.
- 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.
- They turn into a Source File once we have found an association into the Blamed File.