From: René Scharfe Date: Fri, 27 Aug 2021 19:59:16 +0000 (+0200) Subject: archive: convert queue_directory to struct object_id X-Git-Tag: v2.33.1~52^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e124ecf7f7643c83c4f23badb8e1437f863549c7;p=thirdparty%2Fgit.git archive: convert queue_directory to struct object_id Pass the struct object_id on instead of just its hash member. This is simpler and avoids the need to guess the algorithm. Signed-off-by: René Scharfe Acked-by: brian m. carlson Signed-off-by: Junio C Hamano --- diff --git a/archive.c b/archive.c index 3c266d1d7b..a3bbb09125 100644 --- a/archive.c +++ b/archive.c @@ -191,7 +191,7 @@ static int write_archive_entry(const struct object_id *oid, const char *base, return err; } -static void queue_directory(const unsigned char *sha1, +static void queue_directory(const struct object_id *oid, struct strbuf *base, const char *filename, unsigned mode, struct archiver_context *c) { @@ -203,7 +203,7 @@ static void queue_directory(const unsigned char *sha1, d->mode = mode; c->bottom = d; d->len = xsnprintf(d->path, len, "%.*s%s/", (int)base->len, base->buf, filename); - oidread(&d->oid, sha1); + oidcpy(&d->oid, oid); } static int write_directory(struct archiver_context *c) @@ -250,8 +250,7 @@ static int queue_or_write_archive_entry(const struct object_id *oid, if (check_attr_export_ignore(check)) return 0; - queue_directory(oid->hash, base, filename, - mode, c); + queue_directory(oid, base, filename, mode, c); return READ_TREE_RECURSIVE; }