diff options
author | brian m. carlson <sandals@crustytoothpaste.net> | 2021-04-26 03:02:56 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-04-27 09:31:39 +0200 |
commit | 14228447c9ce664a4e9c31ba10344ec5e4ea4ba5 (patch) | |
tree | 75e66ea8ad821e4684497a995d9648658c37fcbf /refs.c | |
parent | hash: set, copy, and use algo field in struct object_id (diff) | |
download | git-14228447c9ce664a4e9c31ba10344ec5e4ea4ba5.tar.xz git-14228447c9ce664a4e9c31ba10344ec5e4ea4ba5.zip |
hash: provide per-algorithm null OIDs
Up until recently, object IDs did not have an algorithm member, only a
hash. Consequently, it was possible to share one null (all-zeros)
object ID among all hash algorithms. Now that we're going to be
handling objects from multiple hash algorithms, it's important to make
sure that all object IDs have a correct algorithm field.
Introduce a per-algorithm null OID, and add it to struct hash_algo.
Introduce a wrapper function as well, and use it everywhere we used to
use the null_oid constant.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs.c')
-rw-r--r-- | refs.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1107,7 +1107,7 @@ int ref_transaction_create(struct ref_transaction *transaction, if (!new_oid || is_null_oid(new_oid)) BUG("create called without valid new_oid"); return ref_transaction_update(transaction, refname, new_oid, - &null_oid, flags, msg, err); + null_oid(), flags, msg, err); } int ref_transaction_delete(struct ref_transaction *transaction, @@ -1119,7 +1119,7 @@ int ref_transaction_delete(struct ref_transaction *transaction, if (old_oid && is_null_oid(old_oid)) BUG("delete called with old_oid set to zeros"); return ref_transaction_update(transaction, refname, - &null_oid, old_oid, + null_oid(), old_oid, flags, msg, err); } |