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

[PATCH v3 03/23] refs.c: add a new refs.c file to hold all common refs code

From
Ronnie Sahlberg <sahlberg@google.com>
Date
Aug 19, 2014, 16:30 UTC
Message-ID
<1408465847-30384-4-git-send-email-sahlberg@google.com>
In-Reply-To
<1408465847-30384-1-git-send-email-sahlberg@google.com>

Create a new erfs.c file that will be used to hold all the refs code that is backend agnostic and will be shared across all backends.

The reason we renamed everything to refs-be-files.c in the previous patch and now start moving the common code back to the new refs.c file instead of the other way around is the etive volumes of code.

With the ref_cache, packed refs and loose ref handling that are all part of the files based implementation the backend specific part of the old refs.c file is several times larger than the backend agnostic part. Therefore it makes more sense to first rename everything to be part of the files based backend and then move the parts that can be used as common code back to refs.c.

Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
---
 Makefile | 1 +
 refs.c   | 3 +++
 2 files changed, 4 insertions(+)
 create mode 100644 refs.c
diff --git a/Makefile b/Makefile
index e010ad1..937d22a 100644
--- a/Makefile
+++ b/Makefile
@@ -857,6 +857,7 @@ LIB_OBJS += quote.o
 LIB_OBJS += reachable.o
 LIB_OBJS += read-cache.o
 LIB_OBJS += reflog-walk.o
+LIB_OBJS += refs.o
 LIB_OBJS += refs-be-files.o
 LIB_OBJS += remote.o
 LIB_OBJS += replace_object.o
diff --git a/refs.c b/refs.c
new file mode 100644
index 0000000..77492ff
--- /dev/null
+++ b/refs.c
@@ -0,0 +1,3 @@
+/*
+ * Common refs code for all backends.
+ */
-- 
2.0.1.552.g1af257a
Previous: Ronnie SahlbergNext: Junio C Hamano
Message 3 of 27 in “backend-struct-db”
  1. 00/23 backend-struct-dbRonnie Sahlberg, Aug 19, 2014
  2. 01/23 refs.c: create a public function for is_refname_availableRonnie Sahlberg, Aug 19, 2014
  3. 03/23 refs.c: add a new refs.c file to hold all common refs codeRonnie Sahlberg, Aug 19, 2014
  4. Junio C HamanoAug 26, 2014
  5. Ronnie SahlbergAug 26, 2014
  6. 04/23 refs.c: move update_ref to refs.cRonnie Sahlberg, Aug 19, 2014
  7. 05/23 refs.c: move delete_ref to the common codeRonnie Sahlberg, Aug 19, 2014
  8. 06/23 refs.c: move rename_ref to the common codeRonnie Sahlberg, Aug 19, 2014
  9. 07/23 refs.c: move read_ref_at to the common refs fileRonnie Sahlberg, Aug 19, 2014
  10. 08/23 refs.c: move the hidden refs functions to the common codeRonnie Sahlberg, Aug 19, 2014
  11. 09/23 refs.c: move dwim and friend functions to the common refs codeRonnie Sahlberg, Aug 19, 2014
  12. 10/23 refs.c: move warn_if_dangling_symref* to the common codeRonnie Sahlberg, Aug 19, 2014
  13. 11/23 refs.c: move read_ref, read_ref_full and ref_exists to the common codeRonnie Sahlberg, Aug 19, 2014
  14. 12/23 refs.c: move resolve_refdup to commonRonnie Sahlberg, Aug 19, 2014
  15. 13/23 refs.c: move check_refname_component to the common codeRonnie Sahlberg, Aug 19, 2014
  16. 14/23 refs.c: move is_branch to the common codeRonnie Sahlberg, Aug 19, 2014
  17. 15/23 refs.c: move names_conflict to the common codeRonnie Sahlberg, Aug 19, 2014
  18. 16/23 refs.c: move prettify_refname to the common codeRonnie Sahlberg, Aug 19, 2014
  19. 17/23 refs.c: move ref iterators to the common codeRonnie Sahlberg, Aug 19, 2014
  20. 18/23 refs.c: move head_ref_namespaced to the common codeRonnie Sahlberg, Aug 19, 2014
  21. 19/23 refs-be-files.c: add a backend method structure with transaction functionsRonnie Sahlberg, Aug 19, 2014
  22. Junio C HamanoAug 26, 2014
  23. Ronnie SahlbergAug 26, 2014
  24. 20/23 refs-be-files.c: add reflog backend methodsRonnie Sahlberg, Aug 19, 2014
  25. 21/23 refs-be-files.c: add methods for misc ref operationsRonnie Sahlberg, Aug 19, 2014
  26. 22/23 refs-be-files.c: add methods for head_ref*Ronnie Sahlberg, Aug 19, 2014
  27. 23/23 refs-be-files.c: add methods for the ref iteratorsRonnie Sahlberg, Aug 19, 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.