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

Re: [PATCH 3/3] mimic unpack-objects when --stdin is used with index-pack

From
Nicolas Pitre <nico@cam.org>
Date
Oct 26, 2006, 13:46 UTC
Message-ID
<Pine.LNX.4.64.0610260940020.12418@xanadu.home>
In-Reply-To
<7vmz7jqzoo.fsf@assigned-by-dhcp.cox.net>
On Thu, 26 Oct 2006, Junio C Hamano wrote:
Show 11 quoted lines
> Nicolas Pitre <nico@cam.org> writes:
> 
> > It appears that git-unpack-objects writes the last part of the input
> > buffer to stdout after the pack has been parsed.  This looks a bit
> > suspicious since the last fill() might have filled the buffer up to
> > the 4096 byte limit and more data might still be pending on stdin,
> > but since this is about being a drop-in replacement for unpack-objects
> > let's simply duplicate the same behavior for now.
> 
> This seems to break t5300 when applied on top of everything
> else.  The other two numbered patches are Ok.

Yeah.... actually the problem appeared to me in my sleep! (Worrisome isn't it?)

So you just need to amend this patch with:
diff --git a/index-pack.c b/index-pack.c
index 7f7dc5d..5c747a6 100644
--- a/index-pack.c
+++ b/index-pack.c
@@ -461,7 +461,7 @@ static void parse_pack_objects(unsigned
 	/* If input_fd is a file, we should have reached its end now. */
 	if (fstat(input_fd, &st))
 		die("cannot fstat packfile: %s", strerror(errno));
-	if (S_ISREG(st.st_mode) && st.st_size != consumed_bytes + 20)
+	if (S_ISREG(st.st_mode) && st.st_size != consumed_bytes)
 		die("pack has junk at the end");
 
 	if (!nr_deltas)
Previous: Junio C Hamano
Message 3 of 3 in “mimic unpack-objects when --stdin is used with index-pack”
  1. 3/3 mimic unpack-objects when --stdin is used with index-packNicolas Pitre, Oct 26, 2006
  2. Junio C HamanoOct 26, 2006
  3. Nicolas PitreOct 26, 2006

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.