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

Re: [PATCH 5/6] pack-bitmap: save "have" bitmap from walk

From
Jeff King <peff@peff.net>
Date
Aug 17, 2018, 22:45 UTC
Message-ID
<20180817224539.GA4158@sigill.intra.peff.net>
In-Reply-To
<CAGZ79kaP3GPZi_5vSCspgbim5VwsTMRa-fLYbjgECqsx9BTaeg@mail.gmail.com>
On Fri, Aug 17, 2018 at 03:39:29PM -0700, Stefan Beller wrote:
Show 15 quoted lines
> > diff --git a/pack-bitmap.h b/pack-bitmap.h
> > index 4555907dee..02a60ce670 100644
> > --- a/pack-bitmap.h
> > +++ b/pack-bitmap.h
> > @@ -50,6 +50,13 @@ int rebuild_existing_bitmaps(struct bitmap_index *, struct packing_data *mapping
> >                              khash_sha1 *reused_bitmaps, int show_progress);
> >  void free_bitmap_index(struct bitmap_index *);
> >
> > +/*
> > + * After a traversal has been performed on the bitmap_index, this can be
> > + * queried to see if a particular object was reachable from any of the
> > + * objects flagged as UNINTERESTING.
> 
> If the traversal has not been performed, we pretend the
> object was not reachable?

If the traversal hasn't been performed, the results are not defined (though I suspect yeah, it happens to say "no").

Show 6 quoted lines
> Is this a good API design, as it can be used when you do not
> have done all preparations? similarly to prepare_bitmap_walk
> we could have
> 
>     if (!bitmap_git->result)
>         BUG("failed to perform bitmap walk before querying");
That seems like a reasonable precaution.
> > +int bitmap_has_sha1_in_uninteresting(struct bitmap_index *, const unsigned char *sha1);
> 
> You seem to have rebased it to master resolving conflicts only. ;-)
> Do we want to talk about object ids here instead?
See the discussion in the commit message.
-Peff
Previous: Stefan BellerNext: Jeff King
Message 8 of 17 in “reuse on-disk deltas for fetches with bitmaps”
  1. 0/6 reuse on-disk deltas for fetches with bitmapsJeff King, Aug 17, 2018
  2. 1/6 t/perf: factor boilerplate out of test_perfJeff King, Aug 17, 2018
  3. 2/6 t/perf: factor out percent calculationsJeff King, Aug 17, 2018
  4. 3/6 t/perf: add infrastructure for measuring sizesJeff King, Aug 17, 2018
  5. 4/6 t/perf: add perf tests for fetches from a bitmapped serverJeff King, Aug 17, 2018
  6. 5/6 pack-bitmap: save "have" bitmap from walkJeff King, Aug 17, 2018
  7. Stefan BellerAug 17, 2018
  8. Jeff KingAug 17, 2018
  9. 6/6 pack-objects: reuse on-disk deltas for thin "have" objectsJeff King, Aug 17, 2018
  10. Stefan BellerAug 17, 2018
  11. Jeff KingAug 17, 2018
  12. Junio C HamanoAug 20, 2018
  13. Jeff KingAug 20, 2018
  14. 0/6 reuse on-disk deltas for fetches with bitmapsJeff King, Aug 21, 2018
  15. Jeff KingAug 21, 2018
  16. Junio C HamanoAug 21, 2018
  17. Jeff KingAug 21, 2018

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.