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

[PATCH v3 00/32] object-store: lookup_commit

From
Stefan Beller <sbeller@google.com>
Date
Jun 29, 2018, 01:21 UTC
Message-ID
<20180629012222.167426-1-sbeller@google.com>

This continues the elimination of global variables in the object store and teaches lookup_commit[_reference] and alike to handle a_repository.

This is also available as https://github.com/stefanbeller/git/tree/object-store-lookup-commit or applies on top of 02f70d63027 (Merge branch 'sb/object-store-grafts' into next, 2018-06-28).

Picking a base for this one is really hard, as nearly all series currently cooking or in flight collide with it on one or two lines. (lookup_* is used heavily, who would have thought?); I really needed 'sb/object-store-grafts' to build on; and there is only one other series before that in current next, which this series would have conflicted with, if not based on top of it.

In "The state of the object store series" [1], this was tentatively named "sb/object-store-lookup".

Thanks, Stefan

[1] https://public-inbox.org/git/CAGZ79kZtEZA1rvgfSCS+m4dsrB86Cf-XiePWQmeU-kCNxP_NLQ@mail.gmail.com/
v2 https://public-inbox.org/git/20180613230522.55335-1-sbeller@google.com/
* removed mentions of cooci patches
* added forward declaration of commit buffer slabs.
* dropped 3 patches that add the repository to lookup_unkonwn_object,
  parse_commit and parse_commit_gently, but were not converting those
  functions. We'll convert these in the next series, as this series is
  growing big already.
* This series can be found as branch 'object-store-lookup-commit' on github,
  it applies on top of nd/commit-util-to-slab merged with sb/object-store-grafts
v1, https://public-inbox.org/git/20180530004810.30076-1-sbeller@google.com/

This applies on the merge of nd/commit-util-to-slab and sb/object-store-grafts, and is available at http://github.com/stefanbeller/ as branch object-store-lookup-commit as the merge has some merge conflicts as well as syntactical conflicts (upload-pack.c and fetch-pack.c introduce new calls of functions that would want to take a repository struct in the object-store-grafts series)

As layed out in https://public-inbox.org/git/20180517225154.9200-1-sbeller@google.com/
this is getting close to finishing the set of object store series though the last
unfinished part of this RFC hints at new work on the plate:
* To give this series a nice polish, we'd want to convert parse_commit, too.
  But that requires the conversion of the new commit graph. Maybe we need
  to split this series into 2. 
* Once this is in good shape we can talk about converting parts of the revision
  walking code,
* which then can be used by the submodule code as the end goal for the
  object store series.

Thanks, Stefan

Stefan Beller (32):
  object: add repository argument to parse_object
  object: add repository argument to lookup_object
  object: add repository argument to parse_object_buffer
  object: add repository argument to object_as_type
  blob: add repository argument to lookup_blob
  tree: add repository argument to lookup_tree
  commit: add repository argument to lookup_commit_reference_gently
  commit: add repository argument to lookup_commit_reference
  commit: add repository argument to lookup_commit
  commit: add repository argument to parse_commit_buffer
  commit: add repository argument to set_commit_buffer
  commit: add repository argument to get_cached_commit_buffer
  tag: add repository argument to lookup_tag
  tag: add repository argument to parse_tag_buffer
  tag: add repository argument to deref_tag
  object: allow object_as_type to handle arbitrary repositories
  object: allow lookup_object to handle arbitrary repositories
  blob: allow lookup_blob to handle arbitrary repositories
  tree: allow lookup_tree to handle arbitrary repositories
  commit: allow lookup_commit to handle arbitrary repositories
  tag: allow lookup_tag to handle arbitrary repositories
  tag: allow parse_tag_buffer to handle arbitrary repositories
  commit.c: allow parse_commit_buffer to handle arbitrary repositories
  commit-slabs: remove realloc counter outside of slab struct
  commit.c: migrate the commit buffer to the parsed object store
  commit.c: allow set_commit_buffer to handle arbitrary repositories
  commit.c: allow get_cached_commit_buffer to handle arbitrary
    repositories
  object.c: allow parse_object_buffer to handle arbitrary repositories
  object.c: allow parse_object to handle arbitrary repositories
  tag.c: allow deref_tag to handle arbitrary repositories
  commit.c: allow lookup_commit_reference_gently to handle arbitrary
    repositories
  commit.c: allow lookup_commit_reference to handle arbitrary
    repositories
 archive.c                |  2 +-
 bisect.c                 |  2 +-
 blame.c                  | 13 ++++---
 blob.c                   | 10 ++---
 blob.h                   |  2 +-
 branch.c                 |  2 +-
 builtin/am.c             |  9 +++--
 builtin/branch.c         |  7 ++--
 builtin/checkout.c       |  6 +--
 builtin/clone.c          |  3 +-
 builtin/commit-tree.c    |  4 +-
 builtin/describe.c       | 13 ++++---
 builtin/diff-tree.c      |  9 +++--
 builtin/diff.c           |  7 ++--
 builtin/fast-export.c    | 14 ++++---
 builtin/fetch.c          |  9 +++--
 builtin/fmt-merge-msg.c  |  9 +++--
 builtin/fsck.c           | 21 +++++++----
 builtin/grep.c           |  3 +-
 builtin/index-pack.c     |  5 ++-
 builtin/log.c            | 10 +++--
 builtin/merge-base.c     |  7 ++--
 builtin/merge-tree.c     |  3 +-
 builtin/name-rev.c       | 13 ++++---
 builtin/notes.c          |  3 +-
 builtin/pack-objects.c   |  2 +-
 builtin/prune.c          |  2 +-
 builtin/pull.c           | 15 +++++---
 builtin/receive-pack.c   |  6 +--
 builtin/reflog.c         | 15 +++++---
 builtin/replace.c        |  8 ++--
 builtin/reset.c          |  4 +-
 builtin/rev-list.c       |  2 +-
 builtin/rev-parse.c      |  6 +--
 builtin/show-branch.c    |  5 ++-
 builtin/tag.c            |  2 +-
 builtin/unpack-objects.c |  7 ++--
 builtin/verify-commit.c  |  4 +-
 bundle.c                 | 10 +++--
 cache-tree.c             |  3 +-
 commit-graph.c           | 14 +++----
 commit-slab-impl.h       |  3 --
 commit.c                 | 80 +++++++++++++++++++++++++---------------
 commit.h                 | 18 ++++++---
 fast-import.c            |  6 ++-
 fetch-pack.c             | 39 ++++++++++++--------
 fsck.c                   |  9 +++--
 http-backend.c           |  4 +-
 http-push.c              | 16 +++++---
 line-log.c               |  2 +-
 list-objects.c           |  4 +-
 log-tree.c               | 13 ++++---
 merge-recursive.c        | 17 +++++----
 notes-cache.c            |  3 +-
 notes-merge.c            |  5 ++-
 notes-utils.c            |  4 +-
 object.c                 | 61 ++++++++++++++++--------------
 object.h                 | 12 ++++--
 packfile.c               |  2 +-
 parse-options-cb.c       |  2 +-
 pretty.c                 |  4 +-
 reachable.c              |  8 ++--
 ref-filter.c             | 12 ++++--
 reflog-walk.c            |  3 +-
 refs.c                   |  2 +-
 refs/files-backend.c     |  2 +-
 remote.c                 | 19 ++++++----
 revision.c               | 26 ++++++-------
 sequencer.c              | 14 +++----
 server-info.c            |  4 +-
 sha1-file.c              |  4 +-
 sha1-name.c              | 33 +++++++++--------
 shallow.c                | 30 +++++++++------
 submodule.c              |  4 +-
 tag.c                    | 28 +++++++-------
 tag.h                    |  7 ++--
 tree.c                   | 19 +++++-----
 tree.h                   |  2 +-
 upload-pack.c            | 17 +++++----
 walker.c                 | 12 ++++--
 wt-status.c              |  2 +-
 81 files changed, 485 insertions(+), 358 deletions(-)
-- 
2.18.0.399.gad0ab374a1-goog
Next: Stefan Beller
Message 1 of 42 in “object-store: lookup_commit”
  1. 00/32 object-store: lookup_commitStefan Beller, Jun 29, 2018
  2. 02/32 object: add repository argument to lookup_objectStefan Beller, Jun 29, 2018
  3. 01/32 object: add repository argument to parse_objectStefan Beller, Jun 29, 2018
  4. 03/32 object: add repository argument to parse_object_bufferStefan Beller, Jun 29, 2018
  5. 05/32 blob: add repository argument to lookup_blobStefan Beller, Jun 29, 2018
  6. 04/32 object: add repository argument to object_as_typeStefan Beller, Jun 29, 2018
  7. 08/32 commit: add repository argument to lookup_commit_referenceStefan Beller, Jun 29, 2018
  8. 10/32 commit: add repository argument to parse_commit_bufferStefan Beller, Jun 29, 2018
  9. Derrick StoleeJun 29, 2018
  10. 06/32 tree: add repository argument to lookup_treeStefan Beller, Jun 29, 2018
  11. 11/32 commit: add repository argument to set_commit_bufferStefan Beller, Jun 29, 2018
  12. 12/32 commit: add repository argument to get_cached_commit_bufferStefan Beller, Jun 29, 2018
  13. 14/32 tag: add repository argument to parse_tag_bufferStefan Beller, Jun 29, 2018
  14. 15/32 tag: add repository argument to deref_tagStefan Beller, Jun 29, 2018
  15. 16/32 object: allow object_as_type to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  16. 17/32 object: allow lookup_object to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  17. 18/32 blob: allow lookup_blob to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  18. 19/32 tree: allow lookup_tree to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  19. 20/32 commit: allow lookup_commit to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  20. 21/32 tag: allow lookup_tag to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  21. 23/32 commit.c: allow parse_commit_buffer to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  22. 24/32 commit-slabs: remove realloc counter outside of slab structStefan Beller, Jun 29, 2018
  23. 25/32 commit.c: migrate the commit buffer to the parsed object storeStefan Beller, Jun 29, 2018
  24. 26/32 commit.c: allow set_commit_buffer to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  25. 28/32 object.c: allow parse_object_buffer to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  26. 30/32 tag.c: allow deref_tag to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  27. 29/32 object.c: allow parse_object to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  28. 31/32 commit.c: allow lookup_commit_reference_gently to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  29. 32/32 commit.c: allow lookup_commit_reference to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  30. 22/32 tag: allow parse_tag_buffer to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  31. 27/32 commit.c: allow get_cached_commit_buffer to handle arbitrary repositoriesStefan Beller, Jun 29, 2018
  32. 07/32 commit: add repository argument to lookup_commit_reference_gentlyStefan Beller, Jun 29, 2018
  33. 09/32 commit: add repository argument to lookup_commitStefan Beller, Jun 29, 2018
  34. Derrick StoleeJun 29, 2018
  35. 13/32 tag: add repository argument to lookup_tagStefan Beller, Jun 29, 2018
  36. Derrick StoleeJun 29, 2018
  37. Junio C HamanoJun 29, 2018
  38. Junio C HamanoJun 29, 2018
  39. Stefan BellerJun 29, 2018
  40. Junio C HamanoJun 29, 2018
  41. Brandon WilliamsJun 29, 2018
  42. Junio C HamanoJul 3, 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.