git@vger.kernel.org mailing list mirror (one of many)
 help / Atom feed
From: Stefan Beller <sbeller@google.com>
To: git@vger.kernel.org
Cc: Stefan Beller <sbeller@google.com>
Subject: [PATCH v3 00/32] object-store: lookup_commit
Date: Thu, 28 Jun 2018 18:21:50 -0700
Message-ID: <20180629012222.167426-1-sbeller@google.com> (raw)

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


             reply index

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-29  1:21 Stefan Beller [this message]
2018-06-29  1:21 ` [PATCH v3 01/32] object: add repository argument to parse_object Stefan Beller
2018-06-29  1:21 ` [PATCH v3 02/32] object: add repository argument to lookup_object Stefan Beller
2018-06-29  1:21 ` [PATCH v3 03/32] object: add repository argument to parse_object_buffer Stefan Beller
2018-06-29  1:21 ` [PATCH v3 04/32] object: add repository argument to object_as_type Stefan Beller
2018-06-29  1:21 ` [PATCH v3 05/32] blob: add repository argument to lookup_blob Stefan Beller
2018-06-29  1:21 ` [PATCH v3 06/32] tree: add repository argument to lookup_tree Stefan Beller
2018-06-29  1:21 ` [PATCH v3 07/32] commit: add repository argument to lookup_commit_reference_gently Stefan Beller
2018-06-29  1:21 ` [PATCH v3 08/32] commit: add repository argument to lookup_commit_reference Stefan Beller
2018-06-29  1:21 ` [PATCH v3 09/32] commit: add repository argument to lookup_commit Stefan Beller
2018-06-29 14:46   ` Derrick Stolee
2018-06-29  1:22 ` [PATCH v3 10/32] commit: add repository argument to parse_commit_buffer Stefan Beller
2018-06-29 14:49   ` Derrick Stolee
2018-06-29  1:22 ` [PATCH v3 11/32] commit: add repository argument to set_commit_buffer Stefan Beller
2018-06-29  1:22 ` [PATCH v3 12/32] commit: add repository argument to get_cached_commit_buffer Stefan Beller
2018-06-29  1:22 ` [PATCH v3 13/32] tag: add repository argument to lookup_tag Stefan Beller
2018-06-29  1:22 ` [PATCH v3 14/32] tag: add repository argument to parse_tag_buffer Stefan Beller
2018-06-29  1:22 ` [PATCH v3 15/32] tag: add repository argument to deref_tag Stefan Beller
2018-06-29  1:22 ` [PATCH v3 16/32] object: allow object_as_type to handle arbitrary repositories Stefan Beller
2018-06-29  1:22 ` [PATCH v3 17/32] object: allow lookup_object " Stefan Beller
2018-06-29  1:22 ` [PATCH v3 18/32] blob: allow lookup_blob " Stefan Beller
2018-06-29  1:22 ` [PATCH v3 19/32] tree: allow lookup_tree " Stefan Beller
2018-06-29  1:22 ` [PATCH v3 20/32] commit: allow lookup_commit " Stefan Beller
2018-06-29  1:22 ` [PATCH v3 21/32] tag: allow lookup_tag " Stefan Beller
2018-06-29  1:22 ` [PATCH v3 22/32] tag: allow parse_tag_buffer " Stefan Beller
2018-06-29  1:22 ` [PATCH v3 23/32] commit.c: allow parse_commit_buffer " Stefan Beller
2018-06-29  1:22 ` [PATCH v3 24/32] commit-slabs: remove realloc counter outside of slab struct Stefan Beller
2018-06-29  1:22 ` [PATCH v3 25/32] commit.c: migrate the commit buffer to the parsed object store Stefan Beller
2018-06-29  1:22 ` [PATCH v3 26/32] commit.c: allow set_commit_buffer to handle arbitrary repositories Stefan Beller
2018-06-29  1:22 ` [PATCH v3 27/32] commit.c: allow get_cached_commit_buffer " Stefan Beller
2018-06-29  1:22 ` [PATCH v3 28/32] object.c: allow parse_object_buffer " Stefan Beller
2018-06-29  1:22 ` [PATCH v3 29/32] object.c: allow parse_object " Stefan Beller
2018-06-29  1:22 ` [PATCH v3 30/32] tag.c: allow deref_tag " Stefan Beller
2018-06-29  1:22 ` [PATCH v3 31/32] commit.c: allow lookup_commit_reference_gently " Stefan Beller
2018-06-29  1:22 ` [PATCH v3 32/32] commit.c: allow lookup_commit_reference " Stefan Beller
2018-06-29 14:53 ` [PATCH v3 00/32] object-store: lookup_commit Derrick Stolee
2018-06-29 17:57 ` Junio C Hamano
2018-06-29 18:03   ` Junio C Hamano
2018-06-29 18:34     ` Stefan Beller
2018-06-29 19:37       ` Junio C Hamano
2018-06-29 22:20         ` Brandon Williams
2018-07-03 18:13           ` Junio C Hamano

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180629012222.167426-1-sbeller@google.com \
    --to=sbeller@google.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

git@vger.kernel.org mailing list mirror (one of many)

Archives are clonable:
	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git
	nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git
	nntp://news.gmane.org/gmane.comp.version-control.git

 note: .onion URLs require Tor: https://www.torproject.org/
       or Tor2web: https://www.tor2web.org/

AGPL code for this site: git clone https://public-inbox.org/ public-inbox