All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/20] Separate `ref_cache` into a separate module
@ 2017-04-16  6:41 Michael Haggerty
  2017-04-16  6:41 ` [PATCH v3 01/20] get_ref_dir(): don't call read_loose_refs() for "refs/bisect" Michael Haggerty
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: Michael Haggerty @ 2017-04-16  6:41 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Nguyễn Thái Ngọc Duy, Stefan Beller, Jeff King,
	Ævar Arnfjörð Bjarmason, David Turner, git,
	Michael Haggerty

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


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2017-04-16  6:43 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-16  6:41 [PATCH v3 00/20] Separate `ref_cache` into a separate module Michael Haggerty
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

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.