]> git.ipfire.org Git - thirdparty/git.git/commitdiff
hash: add an algo member to struct object_id
authorbrian m. carlson <sandals@crustytoothpaste.net>
Mon, 26 Apr 2021 01:02:49 +0000 (01:02 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 27 Apr 2021 07:31:38 +0000 (16:31 +0900)
Now that we're working with multiple hash algorithms in the same repo,
it's best if we label each object ID with its algorithm so we can
determine how to format a given object ID. Add a member called algo to
struct object_id.

Performance testing on object ID-heavy workloads doesn't reveal a clear
change in performance.  Out of performance tests t0001 and t1450, there
are slight variations in performance both up and down, but all
measurements are within the margin of error.

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

diff --git a/hash.h b/hash.h
index 3fb0c3d4005aeb2267625e365a83e6de608efd28..dafdcb33357dadbbe4051d6beac5aaaeb0fb4641 100644 (file)
--- a/hash.h
+++ b/hash.h
@@ -181,6 +181,7 @@ static inline int hash_algo_by_ptr(const struct git_hash_algo *p)
 
 struct object_id {
        unsigned char hash[GIT_MAX_RAWSZ];
+       int algo;
 };
 
 #define the_hash_algo the_repository->hash_algo