diff options
author | brian m. carlson <sandals@crustytoothpaste.net> | 2021-04-26 01:02:56 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-04-27 16:31:39 +0900 |
commit | 14228447c9ce664a4e9c31ba10344ec5e4ea4ba5 (patch) | |
tree | 75e66ea8ad821e4684497a995d9648658c37fcbf /diff.c | |
parent | 5a6dce70d7bb12ee2bc7926254c5b6741b91ac5f (diff) | |
download | git-14228447c9ce664a4e9c31ba10344ec5e4ea4ba5.tar.gz |
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 'diff.c')
-rw-r--r-- | diff.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -4190,7 +4190,7 @@ static struct diff_tempfile *prepare_temp_file(struct repository *r, die_errno("readlink(%s)", name); prep_temp_blob(r->index, name, temp, sb.buf, sb.len, (one->oid_valid ? - &one->oid : &null_oid), + &one->oid : null_oid()), (one->oid_valid ? one->mode : S_IFLNK)); strbuf_release(&sb); @@ -4199,7 +4199,7 @@ static struct diff_tempfile *prepare_temp_file(struct repository *r, /* we can borrow from the file in the work tree */ temp->name = name; if (!one->oid_valid) - oid_to_hex_r(temp->hex, &null_oid); + oid_to_hex_r(temp->hex, null_oid()); else oid_to_hex_r(temp->hex, &one->oid); /* Even though we may sometimes borrow the |