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@xxxxxxxxxx/ 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 Jonathan Nieder (1): object: add repository argument to lookup_unknown_object Stefan Beller (34): 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: add repository argument to parse_commit_gently commit: add repository argument to parse_commit 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 | 17 +++--- blob.c | 10 ++-- blob.h | 2 +- branch.c | 2 +- builtin/am.c | 9 ++- builtin/branch.c | 7 ++- builtin/checkout.c | 10 ++-- builtin/clone.c | 3 +- builtin/commit-tree.c | 4 +- builtin/commit.c | 2 +- builtin/describe.c | 17 +++--- 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 | 22 ++++--- builtin/grep.c | 3 +- builtin/index-pack.c | 5 +- builtin/log.c | 10 ++-- builtin/merge-base.c | 9 +-- builtin/merge-tree.c | 3 +- builtin/name-rev.c | 15 +++-- builtin/notes.c | 5 +- builtin/pack-objects.c | 4 +- builtin/prune.c | 2 +- builtin/pull.c | 15 +++-- builtin/receive-pack.c | 6 +- builtin/reflog.c | 17 +++--- builtin/replace.c | 4 +- builtin/reset.c | 4 +- builtin/rev-list.c | 2 +- builtin/rev-parse.c | 6 +- builtin/show-branch.c | 9 +-- builtin/tag.c | 2 +- builtin/unpack-objects.c | 7 ++- builtin/verify-commit.c | 4 +- bundle.c | 10 ++-- cache-tree.c | 3 +- commit-graph.c | 20 +++---- commit-slab-impl.h | 3 - commit.c | 100 ++++++++++++++++++------------- commit.h | 24 +++++--- fast-import.c | 6 +- fetch-pack.c | 45 ++++++++------ fsck.c | 9 +-- http-backend.c | 4 +- http-push.c | 18 +++--- line-log.c | 2 +- list-objects.c | 4 +- log-tree.c | 13 ++-- merge-recursive.c | 15 +++-- notes-cache.c | 3 +- notes-merge.c | 5 +- notes-utils.c | 6 +- object.c | 63 ++++++++++--------- object.h | 13 ++-- packfile.c | 2 +- parse-options-cb.c | 2 +- pretty.c | 4 +- reachable.c | 8 +-- ref-filter.c | 12 ++-- reflog-walk.c | 3 +- refs.c | 4 +- refs/files-backend.c | 2 +- remote.c | 21 ++++--- revision.c | 37 ++++++------ sequencer.c | 30 +++++----- server-info.c | 4 +- sha1-file.c | 4 +- sha1-name.c | 37 ++++++------ shallow.c | 34 +++++++---- submodule.c | 10 ++-- t/helper/test-example-decorate.c | 6 +- tag.c | 28 ++++----- tag.h | 7 +-- tree.c | 21 +++---- tree.h | 2 +- upload-pack.c | 19 +++--- walker.c | 16 +++-- wt-status.c | 2 +- 83 files changed, 547 insertions(+), 423 deletions(-) -- 2.17.0.582.gccdcbd54c44.dirty