Some words are being used to mean several things in the code base:
* “object” can mean both “the object file (.o) produced by the compiler”
and “the result stored in the cache, including e.g. the .o file and .d
file”.
* “hash” can mean both “the state that the hash_* functions operate on”,
“the output of a hash function” and “the key used to index results
and manifests in the cache”.
This commits tries to make the naming more consistent:
* “object” means “the object file (.o) produced by the compiler”
* “result” means “the result stored in the cache, including e.g. the .o
file and .d file”.
* “struct hash” means “the state that the hash_* functions operate on”.
* “digest” means “the output of a hash function”. However, “hash” is
still used in documentation and command line output since I think that
“hash” is easier to understand for most people, especially since
that’s the term used by Git.
* “name” means “the key used to index results and manifests in the
cache”.