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

The state of the object store series

From
Stefan Beller <sbeller@google.com>
Date
Jun 19, 2018, 22:07 UTC
Message-ID
<CAGZ79kZtEZA1rvgfSCS+m4dsrB86Cf-XiePWQmeU-kCNxP_NLQ@mail.gmail.com>

There is an ongoing effort to remove global state currently and switch over to pass around the relevant data structures; for most of it we end up passing around 'the_repository' as it contains everything there is.

Merged into master:

fcb6df32546 Merge branch 'sb/oid-object-info' a2cec42213c Merge branch 'sb/object-store-replace' 3a1ec60c43b Merge branch 'sb/packfiles-in-repository' cf0b1793ead Merge branch 'sb/object-store'

Currently cooking:

8c69a7d7e80 Merge branch 'sb/object-store-grafts' into pu 42d32d07298 Merge branch 'sb/object-store-alloc' into jch

(both marked for "will merge to next" in the cooking report)
Floating on the mailing list, not cooking yet:
"sb/object-store-lookup"
https://public-inbox.org/git/20180613230522.55335-1-sbeller@google.com/
  This clashes with other series in flight (Stolees get_tree series; see
  https://public-inbox.org/git/709bd61c-70fc-a925-efba-58ab9be265c9@gmail.com/
  I'll rebase this series on top of that series once the currently cooking
  series stabilize)
"nd/kill-the_index"
https://public-inbox.org/git/20180616054157.32433-1-pclouds@gmail.com/
  This converts the_index to pass around index pointers instead of
the_repository;
  it fits into the theme, but Duys end goal differs from mine; he is
less submodule focused.
Work that still needs to be done:
"xx/object-store-commit-graph"
  Convert the commit graph to have no global state, but be part of the
  repository struct. I think this can go in parallel to
"sb/object-store-lookup",
  so I'll tackle that next. Thanks Stolee for looking ahead: There is only the
  commit graph itself as well as whether it has been prepared as a global
  variable. So this series will consist of passing around a repository struct
  for all those higher level functions that do not pass around the commit graph
  or parts of it.
"xx/finish-object-stores"
  This requires "xx/object-store-commit-graph" as well as
"sb/object-store-lookup";
  it will convert parse_commit[_gently] to take a repository argument and will
  finish the actual object store part. This might be optional for the goal of
  converting submodules, that I have in mind, but it sure is a nice finishing
  touch.
"xx/convert-revision-walking"
  This series aims to convert get_merge_bases(), in_merge_bases() and all its
  revision walking code to take a repository argument.
"xx/submodule-dont-use-alternates"
  Once "xx/convert-revision-walking" is in, convert the local
find_first_merges(),
  and convert all functions to drop function add_submodule_odb() and instead
  operate on the submodule repository instead of the_repository with the
  submodule objects added as an alternate.

Thanks, Stefan

Next: Jonathan Tan
Message 1 of 6 in “The state of the object store series”
  1. Stefan BellerJun 19, 2018
  2. Jonathan TanJun 19, 2018
  3. Stefan BellerJun 19, 2018
  4. Duy NguyenJun 20, 2018
  5. Derrick StoleeJun 22, 2018
  6. Jonathan TanJun 22, 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.