git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] fast-import: use write_pack_header()

From
René Scharfe <l.s.r@web.de>
Date
Sep 6, 2020, 08:39 UTC
Message-ID
<7613ef32-f39c-ea4b-1cfc-88d255307186@web.de>

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(-)
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
Next: Jeff King
Message 1 of 2 in “fast-import: use write_pack_header()”
  1. fast-import: use write_pack_header()René Scharfe, Sep 6, 2020
  2. Jeff KingSep 10, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.