hash: add a constant for the legacy hash algorithm

We have a a variety of uses of GIT_HASH_SHA1 littered throughout our
code.  Some of these really mean to represent specifically SHA-1, but
some actually represent the original hash algorithm used in Git which is
implied by older, legacy formats and protocols which do not contain hash
information.  For instance, the bundle v1 and v2 formats do not contain
hash algorithm information, and thus SHA-1 is implied by the use of
these formats.

Add a constant for documentary purposes which indicates this value.  It
will always be the same as SHA-1, since this is an essential part of
these formats, but its use indicates this particular reason and not any
other reason why SHA-1 might be used.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
brian m. carlson 2025-07-01 21:22:28 +00:00 committed by Junio C Hamano
parent ca6daa1368
commit 1f68f3da87
1 changed files with 2 additions and 0 deletions

2
hash.h
View File

@ -176,6 +176,8 @@ static inline void git_SHA256_Clone(git_SHA256_CTX *dst, const git_SHA256_CTX *s
#define GIT_HASH_NALGOS (GIT_HASH_SHA256 + 1)
/* Default hash algorithm if unspecified. */
#define GIT_HASH_DEFAULT GIT_HASH_SHA1
/* Legacy hash algorithm. Implied for older data formats which don't specify. */
#define GIT_HASH_SHA1_LEGACY GIT_HASH_SHA1

/* "sha1", big-endian */
#define GIT_SHA1_FORMAT_ID 0x73686131