From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org
Subject: [PATCH 0/5] refs: remove functions without ref store
Date: Fri, 3 May 2024 08:27:55 +0200 [thread overview]
Message-ID: <cover.1714717057.git.ps@pks.im> (raw)
[-- Attachment #1: Type: text/plain, Size: 4754 bytes --]
Hi,
this patch series aims to convert the ref subsystem to rely less on
`the_repository`. The focus of it is to remove those cases where we have
two variants of the same function: one with a `struct ref_store`, and
one without. There are still other cases in "refs.c" where we implicitly
assume `the_repository`, but those require a bit more thought and will
thus be handled in a subsequent patch series.
The biggest part of this patch is a set of new Coccinelle rules added by
patch 3. Those rules are applied in patch 4 and the now-unused functions
that do not take a `struct ref_store` are then removed in patch 5. This
of course results in quite a lot of churn, but given that it is fully
automated via Coccinelle I don't think it is particularly bad.
It is quite likely that this patch series will impact in-flight patch
series. I'd be quite happy to drop the last patch that removes the old
interfaces to make this a bit less painful.
Patrick
Patrick Steinhardt (5):
refs: introduce missing functions that accept a `struct ref_store`
refs: add `exclude_patterns` parameter to `for_each_fullref_in()`
cocci: introduce rules to transform "refs" to pass ref store
cocci: apply rules to rewrite callers of "refs" interfaces
refs: remove functions without ref store
add-interactive.c | 17 ++-
bisect.c | 25 +++--
blame.c | 4 +-
branch.c | 5 +-
builtin/am.c | 38 ++++---
builtin/bisect.c | 44 +++++---
builtin/blame.c | 4 +-
builtin/branch.c | 49 +++++----
builtin/checkout.c | 35 +++---
builtin/clone.c | 36 +++---
builtin/describe.c | 3 +-
builtin/fast-import.c | 11 +-
builtin/fetch.c | 20 +++-
builtin/fsck.c | 11 +-
builtin/gc.c | 3 +-
builtin/log.c | 6 +-
builtin/merge.c | 34 ++++--
builtin/name-rev.c | 5 +-
builtin/notes.c | 26 +++--
builtin/pack-objects.c | 10 +-
builtin/pull.c | 2 +-
builtin/rebase.c | 18 +--
builtin/receive-pack.c | 15 ++-
builtin/reflog.c | 25 +++--
builtin/remote.c | 37 ++++---
builtin/repack.c | 7 +-
builtin/replace.c | 9 +-
builtin/reset.c | 13 ++-
builtin/rev-parse.c | 25 +++--
builtin/show-branch.c | 22 ++--
builtin/show-ref.c | 19 +++-
builtin/stash.c | 23 ++--
builtin/submodule--helper.c | 7 +-
builtin/symbolic-ref.c | 13 ++-
builtin/tag.c | 11 +-
builtin/update-index.c | 2 +-
builtin/update-ref.c | 21 ++--
builtin/worktree.c | 19 ++--
bundle-uri.c | 12 +-
bundle.c | 2 +-
commit-graph.c | 3 +-
commit.c | 3 +-
config.c | 3 +-
contrib/coccinelle/refs.cocci | 103 +++++++++++++++++
delta-islands.c | 3 +-
fetch-pack.c | 6 +-
fmt-merge-msg.c | 4 +-
help.c | 5 +-
http-backend.c | 13 ++-
log-tree.c | 9 +-
ls-refs.c | 10 +-
midx-write.c | 3 +-
negotiator/default.c | 3 +-
negotiator/skipping.c | 3 +-
notes-cache.c | 6 +-
notes-merge.c | 2 +-
notes-utils.c | 7 +-
notes.c | 5 +-
reachable.c | 5 +-
ref-filter.c | 35 ++++--
reflog-walk.c | 27 +++--
reflog.c | 20 ++--
refs.c | 200 ++++------------------------------
refs.h | 84 +++-----------
remote.c | 38 ++++---
reset.c | 29 +++--
revision.c | 27 +++--
sequencer.c | 61 ++++++-----
server-info.c | 3 +-
setup.c | 2 +-
shallow.c | 16 ++-
submodule.c | 6 +-
transport-helper.c | 29 +++--
transport.c | 16 ++-
upload-pack.c | 20 ++--
walker.c | 6 +-
wt-status.c | 22 ++--
77 files changed, 845 insertions(+), 680 deletions(-)
create mode 100644 contrib/coccinelle/refs.cocci
--
2.45.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next reply other threads:[~2024-05-03 6:28 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-03 6:27 Patrick Steinhardt [this message]
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
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=cover.1714717057.git.ps@pks.im \
--to=ps@pks.im \
--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 read-only IMAP folder(s) and NNTP newsgroup(s).