From: Ronnie Sahlberg <sahlberg@google.com>
To: git@vger.kernel.org
Cc: Ronnie Sahlberg <sahlberg@google.com>
Subject: [PATCH v2 00/23] backend-struct-db
Date: Wed, 13 Aug 2014 13:14:44 -0700 [thread overview]
Message-ID: <1407960907-18189-1-git-send-email-sahlberg@google.com> (raw)
List, please review
This series is called backend-struct-db and is also available at
https://github.com/rsahlberg/git/tree/backend-struct-db
This series is built on and follows after the series
ref-transactions-send-pack
This series does not change any logic or behaviour but mainly just shuffles
code around and adds method pointers for the backend functions.
The first patch adds a new public function for checking if a refname is
available or not. This function is needed not because we want to have
different is_refname_available semantics for different backends, we don't,
but because its implementation is quite dependant on the backend type.
15 of the patches, the refs-common.c patches, focuses on moving all backend
agnostic refs functions to a common file. This file will contain all
backend agnostic refs functions.
The last 6 patches adds a backend structure with the methods we need to
describe a pluggable backend. Currently we only have one built in backend,
the current files based backend. These patches do not change any of the
behavior other than that we now call the methods through backend specific
wrapper functions rather than calling them directly.
At this stage we now have a defined set of methods needed for a refs
backend and we can start building and adding new types of ref backends
to git.
Version 2:
- Do not use C99 style initializers as suggested by David Turner.
- Make head_ref_namespaced a common function instead of a backend function
Ronnie Sahlberg (23):
refs.c: create a public function for is_refname_available
refs-common.c: create a file to host all common refs code
refs-common.c: move update_ref to refs-common.c
refs-common.c: move delete_ref to the common code
refs-common.c: move rename_ref to the common code
refs-common.c: move read_ref_at to the refs common file
refs-common.c: move the hidden refs functions to the common code
refs-common.c: move dwim and friend functions to refs common
refs-common.c: move warn_if_dangling_symref* to refs-common
refs-common.c: move read_ref, read_ref_full and ref_exists to common
refs-common.c: move resolve_refdup to common
refs-common.c: move check_refname_component to the common code
refs-common.c: move is_branch to the common code
refs-common.c: move names_conflict to the common code
refs-common.c: move prettify_refname to the common code
refs-common.c: move ref iterators to the common code
refs-common.c: move head_ref_namespaced to the common file
refs.c: add a backend method structure with transaction functions
refs.c: add reflog backend methods
refs.c: add methods for misc ref operations
refs.c: add methods for head_ref*
refs.c: add methods for the ref iterators
refs-be-files.c: rename refs.c to refs-be-files.c
Makefile | 3 +-
refs-be-files.c | 3323 ++++++++++++++++++++++++++++++++++++++++++++
refs-common.c | 966 +++++++++++++
refs.c | 4082 -------------------------------------------------------
refs.h | 111 ++
5 files changed, 4402 insertions(+), 4083 deletions(-)
create mode 100644 refs-be-files.c
create mode 100644 refs-common.c
delete mode 100644 refs.c
--
2.0.1.556.g3edca4c
next reply other threads:[~2014-08-13 20:15 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-13 20:14 Ronnie Sahlberg [this message]
2014-08-13 20:14 ` [PATCH v2 01/23] refs.c: create a public function for is_refname_available Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 02/23] refs-common.c: create a file to host all common refs code Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 03/23] refs-common.c: move update_ref to refs-common.c Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 04/23] refs-common.c: move delete_ref to the common code Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 05/23] refs-common.c: move rename_ref " Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 06/23] refs-common.c: move read_ref_at to the refs common file Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 07/23] refs-common.c: move the hidden refs functions to the common code Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 08/23] refs-common.c: move dwim and friend functions to refs common Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 09/23] refs-common.c: move warn_if_dangling_symref* to refs-common Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 10/23] refs-common.c: move read_ref, read_ref_full and ref_exists to common Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 11/23] refs-common.c: move resolve_refdup " Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 12/23] refs-common.c: move check_refname_component to the common code Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 13/23] refs-common.c: move is_branch " Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 14/23] refs-common.c: move names_conflict " Ronnie Sahlberg
2014-08-13 20:14 ` [PATCH v2 15/23] refs-common.c: move prettify_refname " Ronnie Sahlberg
2014-08-13 20:15 ` [PATCH v2 16/23] refs-common.c: move ref iterators " Ronnie Sahlberg
2014-08-13 20:15 ` [PATCH v2 17/23] refs-common.c: move head_ref_namespaced to the common file Ronnie Sahlberg
2014-08-13 20:15 ` [PATCH v2 18/23] refs.c: add a backend method structure with transaction functions Ronnie Sahlberg
2014-08-26 21:25 ` Junio C Hamano
2014-08-26 22:11 ` Ronnie Sahlberg
2014-08-13 20:15 ` [PATCH v2 19/23] refs.c: add reflog backend methods Ronnie Sahlberg
2014-08-13 20:15 ` [PATCH v2 20/23] refs.c: add methods for misc ref operations Ronnie Sahlberg
2014-08-13 20:15 ` [PATCH v2 21/23] refs.c: add methods for head_ref* Ronnie Sahlberg
2014-08-13 20:15 ` [PATCH v2 22/23] refs.c: add methods for the ref iterators Ronnie Sahlberg
2014-08-13 21:18 ` [PATCH v2 00/23] backend-struct-db Junio C Hamano
2014-08-13 21:55 ` Ronnie Sahlberg
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=1407960907-18189-1-git-send-email-sahlberg@google.com \
--to=sahlberg@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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).