aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrian m. carlson <sandals@crustytoothpaste.net>2025-07-01 21:22:28 +0000
committerJunio C Hamano <gitster@pobox.com>2025-07-01 14:58:23 -0700
commit1f68f3da877a91fefd6cc84b79986af2ef73d21e (patch)
tree82b602d8a29a60a0da28a7358c071c180daf1a06
parenthash: add a constant for the default hash algorithm (diff)
downloadgit-1f68f3da877a91fefd6cc84b79986af2ef73d21e.tar.gz
git-1f68f3da877a91fefd6cc84b79986af2ef73d21e.zip
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>
-rw-r--r--hash.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/hash.h b/hash.h
index 0d3d85e04c..953e840d15 100644
--- a/hash.h
+++ b/hash.h
@@ -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