]> git.ipfire.org Git - thirdparty/git.git/commitdiff
archive: convert queue_directory to struct object_id
authorRené Scharfe <l.s.r@web.de>
Fri, 27 Aug 2021 19:59:16 +0000 (21:59 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 27 Aug 2021 21:19:00 +0000 (14:19 -0700)
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 <l.s.r@web.de>
Acked-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
archive.c

index 3c266d1d7bf4bdd2413f66e5338ca0c82604a512..a3bbb091256dd7077e257f20f532d47516e4a960 100644 (file)
--- 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;
        }