define a structure for object IDs
commit5f7817c85d4b5f65626c8f49249a6c91292b8513
authorbrian m. carlson <sandals@crustytoothpaste.net>
Fri, 13 Mar 2015 23:39:27 +0000 (13 23:39 +0000)
committerJunio C Hamano <gitster@pobox.com>
Sat, 14 Mar 2015 05:43:11 +0000 (13 22:43 -0700)
tree8c90726789312fdeb99e11296914960941e12551
parent1165ae6f3d42e0eb0ddfc2d4e6dfa8bd0b88eb60
define a structure for object IDs

Many places throughout the code use "unsigned char [20]" to store object IDs
(SHA-1 values).  This leads to lots of hardcoded numbers throughout the
codebase.  It also leads to confusion about the purposes of a buffer.

Introduce a structure for object IDs.  This allows us to obtain the benefits
of compile-time checking for misuse.  The structure is expected to remain
the same size and have the same alignment requirements on all known
platforms, compared to the array of unsigned char, although this is not
required for correctness.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
cache.h