threads / patch / 54196

patchfast-import: use write_pack_header()

Subject: [PATCH] fast-import: use write_pack_header()

## tl;dr

2 messages between Sep 6, 2020 and Sep 10, 2020. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

René Scharfe· Sep 6, 2020, 08:39 UTC · lore

Call write_pack_header() to hash and write a pack header instead of open-coding this function. This gets rid of duplicate code and of the magic version number 2 -- which has been used here since c90be46abd (Changed fast-import's pack header creation to use pack.h, 2006-08-16) and in pack.h (again) since 29f049a0c2 (Revert "move pack creation to version 3", 2006-10-14).

Signed-off-by: René Scharfe <l.s.r@web.de>
---
 builtin/fast-import.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)
Show changes to builtin/fast-import.c +1 −8
diff --git a/builtin/fast-import.c b/builtin/fast-import.c
index 1c85eafe43..1bf50a73dc 100644
--- a/builtin/fast-import.c
+++ b/builtin/fast-import.c
@@ -739,7 +739,6 @@ static void start_packfile(void)
 {
 	struct strbuf tmp_file = STRBUF_INIT;
 	struct packed_git *p;
-	struct pack_header hdr;
 	int pack_fd;

 	pack_fd = odb_mkstemp(&tmp_file, "pack/tmp_pack_XXXXXX");
@@ -750,13 +749,8 @@ static void start_packfile(void)
 	p->do_not_close = 1;
 	pack_file = hashfd(pack_fd, p->pack_name);

-	hdr.hdr_signature = htonl(PACK_SIGNATURE);
-	hdr.hdr_version = htonl(2);
-	hdr.hdr_entries = 0;
-	hashwrite(pack_file, &hdr, sizeof(hdr));
-
 	pack_data = p;
-	pack_size = sizeof(hdr);
+	pack_size = write_pack_header(pack_file, 0);
 	object_count = 0;

 	REALLOC_ARRAY(all_packs, pack_id + 1);
--
2.28.0
Jeff King· Sep 10, 2020, 12:41 UTC · re: René Scharfe · lore

Re: [PATCH] fast-import: use write_pack_header()

On Sun, Sep 06, 2020 at 10:39:23AM +0200, René Scharfe wrote:
Show 6 quoted lines
> Call write_pack_header() to hash and write a pack header instead of
> open-coding this function.  This gets rid of duplicate code and of the
> magic version number 2 -- which has been used here since c90be46abd
> (Changed fast-import's pack header creation to use pack.h, 2006-08-16)
> and in pack.h (again) since 29f049a0c2 (Revert "move pack creation to
> version 3", 2006-10-14).

I think this is worth doing. It locks us into using PACK_VERSION, but that has been constant for quite a long time now. If we ever finally have a v4 pack, I expect write_pack_header would grow a version option and we could deal with it then. :)

-Peff

← back to recent threads