# [PATCH] archive: convert queue_directory to struct object_id

3 messages from 2021-08-27 to 2021-08-27. Participants: René Scharfe, brian m. carlson, Junio C Hamano.
Thread: https://gitlist.dev/t/56389

## René Scharfe, 2021-08-27 19:59

Subject: [PATCH] archive: convert queue_directory to struct object_id
Message-ID: <bfdb36fc-3b92-fe62-e928-dc235cede31d@web.de>
URL: https://gitlist.dev/e/bfdb36fc-3b92-fe62-e928-dc235cede31d%40web.de

```
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>
---
 archive.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

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;
 	}

--
2.33.0

```

## brian m. carlson, 2021-08-27 20:40

Subject: Re: [PATCH] archive: convert queue_directory to struct object_id
Message-ID: <YSlN0+ZCpDqoem9J@camp.crustytoothpaste.net>
URL: https://gitlist.dev/e/YSlN0%2BZCpDqoem9J%40camp.crustytoothpaste.net
In-Reply-To: <bfdb36fc-3b92-fe62-e928-dc235cede31d@web.de>

```
On 2021-08-27 at 19:59:16, René Scharfe wrote:
> Pass the struct object_id on instead of just its hash member.
> This is simpler and avoids the need to guess the algorithm.

Seems reasonable.
-- 
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA

```

## Junio C Hamano, 2021-08-27 21:18

Subject: Re: [PATCH] archive: convert queue_directory to struct object_id
Message-ID: <xmqqk0k6a8n7.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqk0k6a8n7.fsf%40gitster.g
In-Reply-To: <YSlN0+ZCpDqoem9J@camp.crustytoothpaste.net>

```
"brian m. carlson" <sandals@crustytoothpaste.net> writes:

> On 2021-08-27 at 19:59:16, René Scharfe wrote:
>> Pass the struct object_id on instead of just its hash member.
>> This is simpler and avoids the need to guess the algorithm.
>
> Seems reasonable.

I guess this is about the oidread() you added at the end of the
function, so I'd take the above as your Acked-by ;-)

Thanks, both.  Will queue.


```
