Legend:
Library
Module
Module type
Parameter
Class
Class type
Hashing.
This module handles both usual hashes and short hashes, which are shorter sequences of bits with a valid hexadecimal representation. The only way to create short hashes is to use of_hex with the strict argument set to false.
When short hashes are used in normal Git operations, they can raise Ambiguous.
This module define various abstraction to distinguish between general, commit, node and blob hashes. It's just an abstraction layer, at runtine they will all be similar.