fast-export: convert sha1 to oid

Rename anonymize_sha1() to anonymize_oid(() and change its signature,
and switch from sha1_to_hex() to oid_to_hex() and from GIT_SHA1_RAWSZ to
the_hash_algo->rawsz.  Also change a comment and a die string to mention
oid instead of sha1.

Signed-off-by: Elijah Newren <newren@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Elijah Newren
2018-11-15 23:59:46 -08:00
committed by Junio C Hamano
parent d166e6afe5
commit 843b9e6d48

View File

@ -243,7 +243,7 @@ static void export_blob(const struct object_id *oid)
if (!buf) if (!buf)
die("could not read blob %s", oid_to_hex(oid)); die("could not read blob %s", oid_to_hex(oid));
if (check_object_signature(oid, buf, size, type_name(type)) < 0) if (check_object_signature(oid, buf, size, type_name(type)) < 0)
die("sha1 mismatch in blob %s", oid_to_hex(oid)); die("oid mismatch in blob %s", oid_to_hex(oid));
object = parse_object_buffer(the_repository, oid, type, object = parse_object_buffer(the_repository, oid, type,
size, buf, &eaten); size, buf, &eaten);
} }
@ -330,17 +330,18 @@ static void print_path(const char *path)
static void *generate_fake_oid(const void *old, size_t *len) static void *generate_fake_oid(const void *old, size_t *len)
{ {
static uint32_t counter = 1; /* avoid null sha1 */ static uint32_t counter = 1; /* avoid null oid */
unsigned char *out = xcalloc(GIT_SHA1_RAWSZ, 1); const unsigned hashsz = the_hash_algo->rawsz;
put_be32(out + GIT_SHA1_RAWSZ - 4, counter++); unsigned char *out = xcalloc(hashsz, 1);
put_be32(out + hashsz - 4, counter++);
return out; return out;
} }
static const unsigned char *anonymize_sha1(const struct object_id *oid) static const struct object_id *anonymize_oid(const struct object_id *oid)
{ {
static struct hashmap sha1s; static struct hashmap objs;
size_t len = GIT_SHA1_RAWSZ; size_t len = the_hash_algo->rawsz;
return anonymize_mem(&sha1s, generate_fake_oid, oid, &len); return anonymize_mem(&objs, generate_fake_oid, oid, &len);
} }
static void show_filemodify(struct diff_queue_struct *q, static void show_filemodify(struct diff_queue_struct *q,
@ -399,9 +400,9 @@ static void show_filemodify(struct diff_queue_struct *q,
*/ */
if (no_data || S_ISGITLINK(spec->mode)) if (no_data || S_ISGITLINK(spec->mode))
printf("M %06o %s ", spec->mode, printf("M %06o %s ", spec->mode,
sha1_to_hex(anonymize ? oid_to_hex(anonymize ?
anonymize_sha1(&spec->oid) : anonymize_oid(&spec->oid) :
spec->oid.hash)); &spec->oid));
else { else {
struct object *object = lookup_object(the_repository, struct object *object = lookup_object(the_repository,
spec->oid.hash); spec->oid.hash);
@ -988,7 +989,7 @@ static void handle_deletes(void)
continue; continue;
printf("reset %s\nfrom %s\n\n", printf("reset %s\nfrom %s\n\n",
refspec->dst, sha1_to_hex(null_sha1)); refspec->dst, oid_to_hex(&null_oid));
} }
} }