git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 00/22] backend-struct-db

From
Ronnie Sahlberg <sahlberg@google.com>
Date
Aug 8, 2014, 16:44 UTC
Message-ID
<1407516309-27989-1-git-send-email-sahlberg@google.com>
List,

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.

Ronnie Sahlberg (22):
  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.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 | 3343 +++++++++++++++++++++++++++++++++++++++++++++
 refs-common.c   |  956 +++++++++++++
 refs.c          | 4082 -------------------------------------------------------
 refs.h          |  117 ++
 5 files changed, 4418 insertions(+), 4083 deletions(-)
 create mode 100644 refs-be-files.c
 create mode 100644 refs-common.c
 delete mode 100644 refs.c
-- 
2.0.1.553.geee1b3e
Next: Ronnie Sahlberg
Message 1 of 26 in “backend-struct-db”
  1. 00/22 backend-struct-dbRonnie Sahlberg, Aug 8, 2014
  2. 01/22 refs.c: create a public function for is_refname_availableRonnie Sahlberg, Aug 8, 2014
  3. David TurnerAug 8, 2014
  4. Ronnie SahlbergAug 11, 2014
  5. 02/22 refs-common.c: create a file to host all common refs codeRonnie Sahlberg, Aug 8, 2014
  6. 03/22 refs-common.c: move update_ref to refs-common.cRonnie Sahlberg, Aug 8, 2014
  7. 04/22 refs-common.c: move delete_ref to the common codeRonnie Sahlberg, Aug 8, 2014
  8. 05/22 refs-common.c: move rename_ref to the common codeRonnie Sahlberg, Aug 8, 2014
  9. 06/22 refs-common.c: move read_ref_at to the refs common fileRonnie Sahlberg, Aug 8, 2014
  10. 07/22 refs-common.c: move the hidden refs functions to the common codeRonnie Sahlberg, Aug 8, 2014
  11. 08/22 refs-common.c: move dwim and friend functions to refs commonRonnie Sahlberg, Aug 8, 2014
  12. 09/22 refs-common.c: move warn_if_dangling_symref* to refs-commonRonnie Sahlberg, Aug 8, 2014
  13. 10/22 refs-common.c: move read_ref, read_ref_full and ref_exists to commonRonnie Sahlberg, Aug 8, 2014
  14. 11/22 refs-common.c: move resolve_refdup to commonRonnie Sahlberg, Aug 8, 2014
  15. 12/22 refs-common.c: move check_refname_component to the common codeRonnie Sahlberg, Aug 8, 2014
  16. 13/22 refs-common.c: move is_branch to the common codeRonnie Sahlberg, Aug 8, 2014
  17. 14/22 refs-common.c: move names_conflict to the common codeRonnie Sahlberg, Aug 8, 2014
  18. 15/22 refs-common.c: move prettify_refname to the common codeRonnie Sahlberg, Aug 8, 2014
  19. 16/22 refs-common.c: move ref iterators to the common codeRonnie Sahlberg, Aug 8, 2014
  20. 17/22 refs.c: add a backend method structure with transaction functionsRonnie Sahlberg, Aug 8, 2014
  21. David TurnerAug 8, 2014
  22. Ronnie SahlbergAug 11, 2014
  23. 18/22 refs.c: add reflog backend methodsRonnie Sahlberg, Aug 8, 2014
  24. 19/22 refs.c: add methods for misc ref operationsRonnie Sahlberg, Aug 8, 2014
  25. 20/22 refs.c: add methods for head_ref*Ronnie Sahlberg, Aug 8, 2014
  26. 21/22 refs.c: add methods for the ref iteratorsRonnie Sahlberg, Aug 8, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.