All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Patrick Steinhardt <ps@pks.im>
Cc: Jeff King <peff@peff.net>,  git@vger.kernel.org
Subject: Re: [PATCH 0/5] refs: remove functions without ref store
Date: Mon, 06 May 2024 23:20:05 -0700	[thread overview]
Message-ID: <xmqqa5l2ta7e.fsf@gitster.g> (raw)
In-Reply-To: <ZjnCoaVP9_wuYiHh@tanuki> (Patrick Steinhardt's message of "Tue, 7 May 2024 07:56:49 +0200")

Patrick Steinhardt <ps@pks.im> writes:

> message. The best I could come up with is the following:
>
>     #define REPLACED_REFS_FUNC(func) func ## was_replaced_by_refs_### func
>
> Which results in compiler errors like this:
>
>     bisect.c:712:6: error: use of undeclared identifier 'read_ref_was_replaced_by_refs_read_ref'
>       712 |         if (read_ref("BISECT_EXPECTED_REV", &expected_oid))
>
> What is still missing is the bit of informatino that you need to pass in
> `get_main_ref_store()`. But maybe this is good enough?

What I had in mind was a lot more stupid like the attached.  For
illustration purposes, I just did only one, but you got the idea.
Thanks to "#if 0", the compilation will fail, the compiler telling
the developer "resolve_ref_unsafe()? what are you talking about?",
and the developer will grep for that name to find the hint at the
end.

 refs.h | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git c/refs.h w/refs.h
index d278775e08..a7e1c261ac 100644
--- c/refs.h
+++ w/refs.h
@@ -72,9 +72,6 @@ const char *refs_resolve_ref_unsafe(struct ref_store *refs,
 				    struct object_id *oid,
 				    int *flags);
 
-const char *resolve_ref_unsafe(const char *refname, int resolve_flags,
-			       struct object_id *oid, int *flags);
-
 char *refs_resolve_refdup(struct ref_store *refs,
 			  const char *refname, int resolve_flags,
 			  struct object_id *oid, int *flags);
@@ -1054,4 +1051,15 @@ void update_ref_namespace(enum ref_namespace namespace, char *ref);
 int is_pseudoref(struct ref_store *refs, const char *refname);
 int is_headref(struct ref_store *refs, const char *refname);
 
+/* The following are removed - rewrite your callers */
+#if 0
+static inline const char *resolve_ref_unsafe(
+	const char *refname, int resolve_flags,
+	struct object_id *oid, int *flags)
+{
+	return refs_resolve_ref_unsafe(get_main_ref_store(the_repository),
+				       refname, resolve_flags, oid, flags);
+}
+
+#endif
 #endif /* REFS_H */

  reply	other threads:[~2024-05-07  6:20 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-03  6:27 [PATCH 0/5] refs: remove functions without ref store Patrick Steinhardt
2024-05-03  6:27 ` [PATCH 1/5] refs: introduce missing functions that accept a `struct ref_store` Patrick Steinhardt
2024-05-03 17:11   ` Junio C Hamano
2024-05-03  6:28 ` [PATCH 2/5] refs: add `exclude_patterns` parameter to `for_each_fullref_in()` Patrick Steinhardt
2024-05-03 18:44   ` Taylor Blau
2024-05-03  6:28 ` [PATCH 3/5] cocci: introduce rules to transform "refs" to pass ref store Patrick Steinhardt
2024-05-03  6:28 ` [PATCH 4/5] cocci: apply rules to rewrite callers of "refs" interfaces Patrick Steinhardt
2024-05-03 18:48   ` Taylor Blau
2024-05-03 19:20     ` Junio C Hamano
2024-05-06  6:35       ` Patrick Steinhardt
2024-05-03  6:28 ` [PATCH 5/5] refs: remove functions without ref store Patrick Steinhardt
2024-05-06  1:15   ` James Liu
2024-05-03 17:24 ` [PATCH 0/5] " Junio C Hamano
2024-05-03 17:35   ` Jeff King
2024-05-03 18:24     ` Junio C Hamano
2024-05-06  6:44       ` Patrick Steinhardt
2024-05-06 16:14         ` Junio C Hamano
2024-05-07  5:56           ` Patrick Steinhardt
2024-05-07  6:20             ` Junio C Hamano [this message]
2024-05-07  6:30               ` Patrick Steinhardt
2024-05-07 15:46                 ` Junio C Hamano
2024-05-09 16:55         ` Jeff King
2024-05-10  5:54           ` Patrick Steinhardt
2024-05-03 18:58     ` Taylor Blau
2024-05-03 19:35       ` Junio C Hamano
2024-05-07  7:11 ` [PATCH v2 " Patrick Steinhardt
2024-05-07  7:11   ` [PATCH v2 1/5] refs: introduce missing functions that accept a `struct ref_store` Patrick Steinhardt
2024-05-07  7:11   ` [PATCH v2 2/5] refs: add `exclude_patterns` parameter to `for_each_fullref_in()` Patrick Steinhardt
2024-05-07  7:11   ` [PATCH v2 3/5] cocci: introduce rules to transform "refs" to pass ref store Patrick Steinhardt
2024-05-07  7:11   ` [PATCH v2 4/5] cocci: apply rules to rewrite callers of "refs" interfaces Patrick Steinhardt
2024-05-07  7:11   ` [PATCH v2 5/5] refs: remove functions without ref store Patrick Steinhardt
2024-05-07 17:27   ` [PATCH v2 0/5] " Taylor Blau

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=xmqqa5l2ta7e.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    --cc=ps@pks.im \
    /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.