This series includes various changes to adopt the use of the_hash_algo for abstracting hash algorithms away. The series moves much of the hash-related code to hash.h from cache.h, drops the ctxsz member in favor of allowing stack-allocated hash contexts, and switches object-related code to use the_hash_algo for hashing. Note that not all instances of calls to git_SHA1_* have been converted. The diff line code, the push cert code, and patch IDs all have been left alone for the moment because they are not related to object handling. Pack checksums, on the other hand, have been converted. The series is based off master, and has one minor conflict with Patryk Obara's recent object_id series. I will also be sending out preliminary test patches on top of this series that wire up an alternate hash algorithm so that we can see what tests break as a result. (Hint: there's a lot of them.) brian m. carlson (12): hash: move SHA-1 macros to hash.h hash: create union for hash context allocation builtin/index-pack: improve hash function abstraction builtin/unpack-objects: switch uses of SHA-1 to the_hash_algo sha1_file: switch uses of SHA-1 to the_hash_algo fast-import: switch various uses of SHA-1 to the_hash_algo pack-check: convert various uses of SHA-1 to abstract forms pack-write: switch various SHA-1 values to abstract forms read-cache: abstract away uses of SHA-1 csum-file: rename sha1file to hashfile csum-file: abstract uses of SHA-1 bulk-checkin: abstract SHA-1 usage builtin/index-pack.c | 108 +++++++++++++++++++++++------------------------ builtin/pack-objects.c | 52 +++++++++++------------ builtin/unpack-objects.c | 18 ++++---- bulk-checkin.c | 28 ++++++------ cache.h | 25 ----------- csum-file.c | 46 ++++++++++---------- csum-file.h | 38 ++++++++--------- fast-import.c | 68 ++++++++++++++--------------- hash.h | 34 +++++++++++++-- pack-bitmap-write.c | 30 ++++++------- pack-check.c | 32 +++++++------- pack-write.c | 77 ++++++++++++++++----------------- pack.h | 4 +- read-cache.c | 54 ++++++++++++------------ sha1_file.c | 54 ++++++++++++------------ 15 files changed, 335 insertions(+), 333 deletions(-)