From: Michael Haggerty <mhagger@alum.mit.edu>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
"Stefan Beller" <sbeller@google.com>, "Jeff King" <peff@peff.net>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"David Turner" <novalis@novalis.org>,
git@vger.kernel.org, "Michael Haggerty" <mhagger@alum.mit.edu>
Subject: [PATCH v3 00/20] Separate `ref_cache` into a separate module
Date: Sun, 16 Apr 2017 08:41:22 +0200 [thread overview]
Message-ID: <cover.1492323985.git.mhagger@alum.mit.edu> (raw)
This is v3 of a patch series to separate the reference caching code
into a separate module that interacts with `files_ref_cache` more at
arm's length. Thanks to Stefan and Duy for their feedback about v2 [1].
This version has only minor changes since v2 (and indeed since v1 [2]):
* Rebased onto the current nd/files-backend-git-dir (there were no
conflicts).
* Removed redundant assignment in
refs_verify_refname_available(): implement once for all backends
* Improved two commit messages.
This patch series is also available from my GitHub fork [3] as branch
"separate-ref-cache". These patches depend on Duy's
nd/files-backend-git-dir branch.
[1] http://public-inbox.org/git/cover.1490966385.git.mhagger@alum.mit.edu/
[2] http://public-inbox.org/git/cover.1490026594.git.mhagger@alum.mit.edu/
[3] https://github.com/mhagger/git
Michael Haggerty (20):
get_ref_dir(): don't call read_loose_refs() for "refs/bisect"
refs_read_raw_ref(): new function
refs_ref_iterator_begin(): new function
refs_verify_refname_available(): implement once for all backends
refs_verify_refname_available(): use function in more places
ref-cache: rename `add_ref()` to `add_ref_entry()`
ref-cache: rename `find_ref()` to `find_ref_entry()`
ref-cache: rename `remove_entry()` to `remove_entry_from_dir()`
refs: split `ref_cache` code into separate files
ref-cache: introduce a new type, ref_cache
refs: record the ref_store in ref_cache, not ref_dir
ref-cache: use a callback function to fill the cache
refs: handle "refs/bisect/" in `loose_fill_ref_dir()`
do_for_each_entry_in_dir(): eliminate `offset` argument
get_loose_ref_dir(): function renamed from get_loose_refs()
get_loose_ref_cache(): new function
cache_ref_iterator_begin(): make function smarter
commit_packed_refs(): use reference iteration
files_pack_refs(): use reference iteration
do_for_each_entry_in_dir(): delete function
Makefile | 1 +
refs.c | 111 ++++-
refs.h | 2 +-
refs/files-backend.c | 1229 +++++++-------------------------------------------
refs/ref-cache.c | 523 +++++++++++++++++++++
refs/ref-cache.h | 267 +++++++++++
refs/refs-internal.h | 22 +-
7 files changed, 1066 insertions(+), 1089 deletions(-)
create mode 100644 refs/ref-cache.c
create mode 100644 refs/ref-cache.h
--
2.11.0
next reply other threads:[~2017-04-16 6:42 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-16 6:41 Michael Haggerty [this message]
2017-04-16 6:41 ` [PATCH v3 01/20] get_ref_dir(): don't call read_loose_refs() for "refs/bisect" Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 02/20] refs_read_raw_ref(): new function Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 03/20] refs_ref_iterator_begin(): " Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 04/20] refs_verify_refname_available(): implement once for all backends Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 05/20] refs_verify_refname_available(): use function in more places Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 06/20] ref-cache: rename `add_ref()` to `add_ref_entry()` Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 07/20] ref-cache: rename `find_ref()` to `find_ref_entry()` Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 08/20] ref-cache: rename `remove_entry()` to `remove_entry_from_dir()` Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 09/20] refs: split `ref_cache` code into separate files Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 10/20] ref-cache: introduce a new type, ref_cache Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 11/20] refs: record the ref_store in ref_cache, not ref_dir Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 12/20] ref-cache: use a callback function to fill the cache Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 13/20] refs: handle "refs/bisect/" in `loose_fill_ref_dir()` Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 14/20] do_for_each_entry_in_dir(): eliminate `offset` argument Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 15/20] get_loose_ref_dir(): function renamed from get_loose_refs() Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 16/20] get_loose_ref_cache(): new function Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 17/20] cache_ref_iterator_begin(): make function smarter Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 18/20] commit_packed_refs(): use reference iteration Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 19/20] files_pack_refs(): " Michael Haggerty
2017-04-16 6:41 ` [PATCH v3 20/20] do_for_each_entry_in_dir(): delete function Michael Haggerty
Reply instructions:
You may reply publicly 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1492323985.git.mhagger@alum.mit.edu \
--to=mhagger@alum.mit.edu \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=novalis@novalis.org \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
--cc=sbeller@google.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.