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

Re: [PATCH 5/8] get-repack --max-pack-size: write_object() takes 'limit' arg

From
DHDana How <danahow@gmail.com>
Date
Apr 9, 2007, 18:51 UTC
Message-ID
<56b7f5510704091151l70cc74b1la82e0c5a67d6885f@mail.gmail.com>
In-Reply-To
<alpine.LFD.0.98.0704082034060.28181@xanadu.home>
On 4/8/07, Nicolas Pitre <nico@cam.org> wrote:
Show 13 quoted lines
> > @@ -448,6 +480,12 @@ static off_t write_object(struct sha1file *f,
> >                       header[pos] = ofs & 127;
> >                       while (ofs >>= 7)
> >                               header[--pos] = 128 | (--ofs & 127);
> > +                     if ( limit && hdrlen + sizeof(header) - pos + datalen + 20 >= limit ) {
> > +                             free(out);
> > +                             free(buf);
> > +                             return 0;
> > +                     }
> > +                     sha1write(f, header, hdrlen);
> >                       sha1write(f, header + pos, sizeof(header) - pos);
>
> The above looks rather buggy to me.
OK, can you be more specific?
So far from my re-inspection I don't see any error in the snippet above.
Two lines before it, however, we have the line
        off_t ofs = entry->offset - entry->delta->offset;
and this only works if entry->offset is set in write_one() *before*
calling write_object().  I will make that change.
Thanks!
-- 
Dana L. How  danahow@gmail.com  +1 650 804 5991 cell
Previous: Nicolas PitreNext: Nicolas Pitre
Message 6 of 10 in “get-repack --max-pack-size: write_object() takes 'limit' arg”
  1. 5/8 get-repack --max-pack-size: write_object() takes 'limit' argDana How, Apr 8, 2007
  2. Junio C HamanoApr 9, 2007
  3. Junio C HamanoApr 9, 2007
  4. Nicolas PitreApr 9, 2007
  5. Nicolas PitreApr 9, 2007
  6. Dana HowApr 9, 2007
  7. Nicolas PitreApr 9, 2007
  8. Dana HowApr 9, 2007
  9. Nicolas PitreApr 9, 2007
  10. Junio C HamanoApr 9, 2007

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.