From: Patrick Steinhardt <ps@pks.im>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jeff King <peff@peff.net>, git@vger.kernel.org
Subject: Re: [PATCH 0/5] refs: remove functions without ref store
Date: Mon, 6 May 2024 08:44:45 +0200 [thread overview]
Message-ID: <Zjh8XWwJKp_I1dwE@tanuki> (raw)
In-Reply-To: <xmqq7cga7nzo.fsf@gitster.g>
[-- Attachment #1: Type: text/plain, Size: 1755 bytes --]
On Fri, May 03, 2024 at 11:24:11AM -0700, Junio C Hamano wrote:
> Jeff King <peff@peff.net> writes:
>
> > Though maybe an even more radical proposal: now that read_ref_full(),
> > etc, are gone, and we have only refs_read_ref_full(), could/should we
> > shorten the latter to drop the "refs_" prefix?
>
> I view it as a good longer-term goal. But I also view it as an
> orthogonal issue to the transition.
Personally, I'd prefer to keep the `refs_` prefix. This may be personal
preference, but I find it way easier to reason about code when there are
prefixes for our functions that clearly indicate the subsystem they
belong to.
It's also in line with how other subsystems behave. Everything relating
to strbufs has a `strbuf_` prefix, attr-related code has `attr_` or
`git_attr_`, mem-pool has `mem_pool_`. So ref-related code having a
`ref_` prefix just feels natural to me.
> We need a smooth migration path for remaining callers of these older
> functions. We could do the USE_THE_INDEX_MACROS like compatibility
> layer during transition period.
Wouldn't this be overengineered? We already have all the required
functions. So my take would be to drop the last patch for now, wait a
release cycle, and then remove it in the next one.
The only problem is that this allows in-flight patch series to introduce
_new_ callers. So we're basically working against a moving target in
that case. That is something that would be addressed by having something
like your proposed `USE_THE_INDEX_MACROS` macro. But honestly, I doubt
that it would be faster for any author of a patch series to figure out
that they now need to a define something compared to just adding the
`refs_` prefix to their functions.
Patrick
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2024-05-06 6:44 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 [this message]
2024-05-06 16:14 ` Junio C Hamano
2024-05-07 5:56 ` Patrick Steinhardt
2024-05-07 6:20 ` Junio C Hamano
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=Zjh8XWwJKp_I1dwE@tanuki \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
/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).