[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
repositoriesarchive.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