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

Re: What's cooking in git.git (Jun 2023, #04; Wed, 14)

From
Taylor Blau <me@ttaylorr.com>
Date
Jun 19, 2023, 16:57 UTC
Message-ID
<ZJCI6FHtbuOKPlV1@nand.local>
In-Reply-To
<xmqqedmdwput.fsf@gitster.g>
Hi Junio,

I am back from a week off, and wanted to give an update on the status of my outstanding topics. I'll be off next week, too, and then back on July 5th onward.

I plan on getting all of the ones with outstanding review comments replied to and/or rerolled tomorrow.

On Wed, Jun 14, 2023 at 05:06:50PM -0700, Junio C Hamano wrote:
Show 13 quoted lines
> * tb/pack-bitmap-index-seek (2023-03-20) 6 commits
>  - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
>  - pack-bitmap.c: use `bitmap_index_seek()` where possible
>  - pack-bitmap.c: factor out manual `map_pos` manipulation
>  - pack-bitmap.c: drop unnecessary 'inline's
>  - pack-bitmap.c: hide bitmap internals in `read_be32()`
>  - pack-bitmap.c: hide bitmap internals in `read_u8()`
>
>  Clean-up the pack-bitmap codepath.
>
>  Kicked back to 'seen' out of 'next'.
>  There is a BUG() on data errors that needs to be fixed.
>  source: <cover.1679342296.git.me@ttaylorr.com>

Let's discard this one for now. It's not super high up on my to-do list and it's not worth the burden of carrying in 'seen'.

Show 8 quoted lines
> * tb/collect-pack-filenames-fix (2023-06-12) 1 commit
>  - builtin/repack.c: only collect fully-formed packs
>
>  Avoid breakage of "git pack-objects --cruft" due to inconsistency
>  between the way the code enumerates packfiles in the repository.
>
>  Will merge to 'next'?
>  source: <20230607101617.ges6tnMry4E52lDGld43QgtNUsIS4YQq6w-t71hEfkQ@z>

Yes, this one is ready to go (and has been running at GitHub for a week or so, for what that's worth ;-)).

Show 8 quoted lines
> * tb/open-midx-bitmap-fallback (2023-06-12) 1 commit
>  - pack-bitmap.c: gracefully degrade on failure to load MIDX'd pack
>
>  Gracefully deal with a stale MIDX file that lists a packfile that
>  no longer exists.
>
>  Will merge to 'next'.
>  source: <f123b68cb8a277fbf105b1789a84b9405a499b79.1686178854.git.me@ttaylorr.com>

Thanks. I am somewhat embarrassed to have not caught that when writing it, but better late than never.

Show 11 quoted lines
> * tb/submodule-null-deref-fix (2023-05-25) 1 commit
>   (merged to 'next' on 2023-06-13 at 5eb6a7948d)
>  + builtin/submodule--helper.c: handle missing submodule URLs
>
>  "git submodule" code trusted the data coming from the config (and
>  the in-tree .gitmodules file) too much without validating, leading
>  to NULL dereference if the user mucks with a repository (e.g.
>  submodule.<name>.url is removed).  This has been corrected.
>
>  Will merge to 'master'.
>  source: <ae6cf3fa461b85e346f034371dae56a2790dfa20.1684957882.git.me@ttaylorr.com>
Thanks for picking this one back up post-release.
Show 21 quoted lines
> * tb/refs-exclusion-and-packed-refs (2023-06-12) 16 commits
>  - ls-refs.c: avoid enumerating hidden refs where possible
>  - upload-pack.c: avoid enumerating hidden refs where possible
>  - builtin/receive-pack.c: avoid enumerating hidden references
>  - refs.h: let `for_each_namespaced_ref()` take excluded patterns
>  - refs/packed-backend.c: ignore complicated hidden refs rules
>  - revision.h: store hidden refs in a `strvec`
>  - refs/packed-backend.c: add trace2 counters for jump list
>  - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
>  - refs/packed-backend.c: refactor `find_reference_location()`
>  - refs: plumb `exclude_patterns` argument throughout
>  - builtin/for-each-ref.c: add `--exclude` option
>  - ref-filter.c: parameterize match functions over patterns
>  - ref-filter: add `ref_filter_clear()`
>  - ref-filter: clear reachable list pointers after freeing
>  - ref-filter.h: provide `REF_FILTER_INIT`
>  - refs.c: rename `ref_filter`
>
>  Enumerating refs in the packed-refs file, while excluding refs that
>  match certain patterns, has been optimized.
>  source: <cover.1686134440.git.me@ttaylorr.com>

Thanks for your review on this one. I am just getting back from a week of vacation (and then off again next week, then back in early July). I had intended to respond to your review today, but I didn't quite get to it today.

On my list for tomorrow, hopefully the rerolled version should be ready to pick up.

Show 10 quoted lines
> * tb/gc-recent-object-hook (2023-06-12) 2 commits
>  - gc: introduce `gc.recentObjectsHook`
>  - reachable.c: extract `obj_is_recent()`
>
>  "git pack-objects" learned to invoke a new hook program that
>  enumerates extra objects to be used as anchoring points to keep
>  otherwise unreachable objects in cruft packs.
>
>  Will merge to 'next'.
>  source: <cover.1686178684.git.me@ttaylorr.com>
Thanks.
Show 13 quoted lines
> * tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
>  + pack-bitmap.c: use commit boundary during bitmap traversal
>  + pack-bitmap.c: extract `fill_in_bitmap()`
>  + object: add object_array initializer helper function
>  (this branch is used by ds/disable-replace-refs.)
>
>  The object traversal using reachability bitmap done by
>  "pack-object" has been tweaked to take advantage of the fact that
>  using "boundary" commits as representative of all the uninteresting
>  ones can save quite a lot of object enumeration.
>
>  Will merge to 'next'.
>  source: <cover.1683567065.git.me@ttaylorr.com>
Thanks on this one, too.

Thanks, Taylor

Previous: Linus Arver
Message 4 of 4 in “What's cooking in git.git (Jun 2023, #04; Wed, 14)”
  1. Junio C HamanoJun 15, 2023
  2. Linus ArverJun 15, 2023
  3. Linus ArverJun 15, 2023
  4. Taylor BlauJun 19, 2023

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.