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>
Elijah Newren committed
Nov 15, 2018 at 23:59 UTC
843b9e6d488b430e76fdfdebad186070063a71ea
1 file changed
+13
-12
builtin/fast-export.c
+13
-12
@@ -243,7 +243,7 @@ static void export_blob(const struct object_id *oid)
243
if (!buf)
244
die("could not read blob %s", oid_to_hex(oid));
245
if (check_object_signature(oid, buf, size, type_name(type)) < 0)
246
- die("sha1 mismatch in blob %s", oid_to_hex(oid));
246
+ die("oid mismatch in blob %s", oid_to_hex(oid));
247
object = parse_object_buffer(the_repository, oid, type,
248
size, buf, &eaten);
249
}
@@ -330,17 +330,18 @@ static void print_path(const char *path)
330
331
static void *generate_fake_oid(const void *old, size_t *len)
332
{
333
- static uint32_t counter = 1; /* avoid null sha1 */
334
- unsigned char *out = xcalloc(GIT_SHA1_RAWSZ, 1);
335
- put_be32(out + GIT_SHA1_RAWSZ - 4, counter++);
333
+ static uint32_t counter = 1; /* avoid null oid */
334
+ const unsigned hashsz = the_hash_algo->rawsz;
335
+ unsigned char *out = xcalloc(hashsz, 1);
336
+ put_be32(out + hashsz - 4, counter++);
337
return out;
338
}
339
339
-static const unsigned char *anonymize_sha1(const struct object_id *oid)
340
+static const struct object_id *anonymize_oid(const struct object_id *oid)
341
{
341
- static struct hashmap sha1s;
342
- size_t len = GIT_SHA1_RAWSZ;
343
- return anonymize_mem(&sha1s, generate_fake_oid, oid, &len);
342
+ static struct hashmap objs;
343
+ size_t len = the_hash_algo->rawsz;
344
+ return anonymize_mem(&objs, generate_fake_oid, oid, &len);
345
}
346
347
static void show_filemodify(struct diff_queue_struct *q,
@@ -399,9 +400,9 @@ static void show_filemodify(struct diff_queue_struct *q,
400
*/
401
if (no_data || S_ISGITLINK(spec->mode))
402
printf("M %06o %s ", spec->mode,
402
- sha1_to_hex(anonymize ?
403
- anonymize_sha1(&spec->oid) :
404
- spec->oid.hash));
403
+ oid_to_hex(anonymize ?
404
+ anonymize_oid(&spec->oid) :
405
+ &spec->oid));
406
else {
407
struct object *object = lookup_object(the_repository,
408
spec->oid.hash);
@@ -988,7 +989,7 @@ static void handle_deletes(void)
989
continue;
990
991
printf("reset %s\nfrom %s\n\n",
991
- refspec->dst, sha1_to_hex(null_sha1));
992
+ refspec->dst, oid_to_hex(&null_oid));
993
}
994
}
995