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
Stefan Beller <sbeller@google.com>
Date
Aug 17, 2018, 22:39 UTC
Message-ID
<CAGZ79kaP3GPZi_5vSCspgbim5VwsTMRa-fLYbjgECqsx9BTaeg@mail.gmail.com>
In-Reply-To
<20180817205920.GE20088@sigill.intra.peff.net>
Show 12 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?

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");
> +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?

(This is what I get to think about when reviewing this series "bottom up". I use "git log -w -p master..HEAD" after applying the patches, probably I should also use --reverse, such that I get to see the commit message before the code for each commit and yet only need to scroll in one direction.)

Previous: Jeff KingNext: Jeff King
Message 7 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.