aboutsummaryrefslogtreecommitdiff
path: root/revision.c
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2026-02-23 12:59:48 +0100
committerJunio C Hamano <gitster@pobox.com>2026-02-23 13:21:19 -0800
commit4091d2989353aaf14080ee64ee2e94b60ceaf18d (patch)
tree978744ce88f964d301279f07552e28de8cf35724 /revision.c
parent5ef6d593f18ac6b1e7540eed45f5d795d5a82faa (diff)
downloadgit-4091d2989353aaf14080ee64ee2e94b60ceaf18d.tar.xz
refs: replace `refs_for_each_glob_ref_in()`
Replace calls to `refs_for_each_glob_ref_in()` with the newly introduced `refs_for_each_ref_ext()` function. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'revision.c')
-rw-r--r--revision.c30
1 files changed, 21 insertions, 9 deletions
diff --git a/revision.c b/revision.c
index 8c206830d5..074a75b859 100644
--- a/revision.c
+++ b/revision.c
@@ -2827,34 +2827,46 @@ static int handle_revision_pseudo_opt(struct rev_info *revs,
exclude_hidden_refs(&revs->ref_excludes, optarg);
return argcount;
} else if (skip_prefix(arg, "--branches=", &optarg)) {
+ struct refs_for_each_ref_options opts = {
+ .prefix = "refs/heads/",
+ .trim_prefix = strlen("refs/heads/"),
+ .pattern = optarg,
+ };
struct all_refs_cb cb;
if (revs->ref_excludes.hidden_refs_configured)
return error(_("options '%s' and '%s' cannot be used together"),
"--exclude-hidden", "--branches");
init_all_refs_cb(&cb, revs, *flags);
- refs_for_each_glob_ref_in(get_main_ref_store(the_repository),
- handle_one_ref, optarg,
- "refs/heads/", &cb);
+ refs_for_each_ref_ext(get_main_ref_store(the_repository),
+ handle_one_ref, &cb, &opts);
clear_ref_exclusions(&revs->ref_excludes);
} else if (skip_prefix(arg, "--tags=", &optarg)) {
+ struct refs_for_each_ref_options opts = {
+ .prefix = "refs/tags/",
+ .trim_prefix = strlen("refs/tags/"),
+ .pattern = optarg,
+ };
struct all_refs_cb cb;
if (revs->ref_excludes.hidden_refs_configured)
return error(_("options '%s' and '%s' cannot be used together"),
"--exclude-hidden", "--tags");
init_all_refs_cb(&cb, revs, *flags);
- refs_for_each_glob_ref_in(get_main_ref_store(the_repository),
- handle_one_ref, optarg,
- "refs/tags/", &cb);
+ refs_for_each_ref_ext(get_main_ref_store(the_repository),
+ handle_one_ref, &cb, &opts);
clear_ref_exclusions(&revs->ref_excludes);
} else if (skip_prefix(arg, "--remotes=", &optarg)) {
+ struct refs_for_each_ref_options opts = {
+ .prefix = "refs/remotes/",
+ .trim_prefix = strlen("refs/remotes/"),
+ .pattern = optarg,
+ };
struct all_refs_cb cb;
if (revs->ref_excludes.hidden_refs_configured)
return error(_("options '%s' and '%s' cannot be used together"),
"--exclude-hidden", "--remotes");
init_all_refs_cb(&cb, revs, *flags);
- refs_for_each_glob_ref_in(get_main_ref_store(the_repository),
- handle_one_ref, optarg,
- "refs/remotes/", &cb);
+ refs_for_each_ref_ext(get_main_ref_store(the_repository),
+ handle_one_ref, &cb, &opts);
clear_ref_exclusions(&revs->ref_excludes);
} else if (!strcmp(arg, "--reflog")) {
add_reflogs_to_pending(revs, *flags);