aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/fetch.c7
-rw-r--r--notes.c7
-rw-r--r--refs.c9
-rw-r--r--refs.h4
-rw-r--r--revision.c7
5 files changed, 15 insertions, 19 deletions
diff --git a/builtin/fetch.c b/builtin/fetch.c
index a3bc7e9380..a3323fbfd7 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -1542,6 +1542,9 @@ static void add_negotiation_tips(struct git_transport_options *smart_options)
for (i = 0; i < negotiation_tip.nr; i++) {
const char *s = negotiation_tip.items[i].string;
+ struct refs_for_each_ref_options opts = {
+ .pattern = s,
+ };
int old_nr;
if (!has_glob_specials(s)) {
struct object_id oid;
@@ -1553,8 +1556,8 @@ static void add_negotiation_tips(struct git_transport_options *smart_options)
continue;
}
old_nr = oids->nr;
- refs_for_each_glob_ref(get_main_ref_store(the_repository),
- add_oid, s, oids);
+ refs_for_each_ref_ext(get_main_ref_store(the_repository),
+ add_oid, oids, &opts);
if (old_nr == oids->nr)
warning("ignoring --negotiation-tip=%s because it does not match any refs",
s);
diff --git a/notes.c b/notes.c
index 090c48bbd5..51a7ef9f83 100644
--- a/notes.c
+++ b/notes.c
@@ -952,8 +952,11 @@ void string_list_add_refs_by_glob(struct string_list *list, const char *glob)
{
assert(list->strdup_strings);
if (has_glob_specials(glob)) {
- refs_for_each_glob_ref(get_main_ref_store(the_repository),
- string_list_add_one_ref, glob, list);
+ struct refs_for_each_ref_options opts = {
+ .pattern = glob,
+ };
+ refs_for_each_ref_ext(get_main_ref_store(the_repository),
+ string_list_add_one_ref, list, &opts);
} else {
struct object_id oid;
if (repo_get_oid(the_repository, glob, &oid))
diff --git a/refs.c b/refs.c
index b4ef4ffff0..ca7fc7289b 100644
--- a/refs.c
+++ b/refs.c
@@ -607,15 +607,6 @@ void normalize_glob_ref(struct string_list_item *item, const char *prefix,
strbuf_release(&normalized_pattern);
}
-int refs_for_each_glob_ref(struct ref_store *refs, refs_for_each_cb cb,
- const char *pattern, void *cb_data)
-{
- struct refs_for_each_ref_options opts = {
- .pattern = pattern,
- };
- return refs_for_each_ref_ext(refs, cb, cb_data, &opts);
-}
-
const char *prettify_refname(const char *name)
{
if (skip_prefix(name, "refs/heads/", &name) ||
diff --git a/refs.h b/refs.h
index 3fa2c11c1f..b63775fa35 100644
--- a/refs.h
+++ b/refs.h
@@ -527,10 +527,6 @@ int refs_for_each_ref_in_prefixes(struct ref_store *refs,
const struct refs_for_each_ref_options *opts,
refs_for_each_cb cb, void *cb_data);
-/* iterates all refs that match the specified glob pattern. */
-int refs_for_each_glob_ref(struct ref_store *refs, refs_for_each_cb fn,
- const char *pattern, void *cb_data);
-
/*
* references matching any pattern in "exclude_patterns" are omitted from the
* result set on a best-effort basis.
diff --git a/revision.c b/revision.c
index 074a75b859..4ddb3370c6 100644
--- a/revision.c
+++ b/revision.c
@@ -2814,10 +2814,13 @@ static int handle_revision_pseudo_opt(struct rev_info *revs,
handle_refs(refs, revs, *flags, refs_for_each_remote_ref);
clear_ref_exclusions(&revs->ref_excludes);
} else if ((argcount = parse_long_opt("glob", argv, &optarg))) {
+ struct refs_for_each_ref_options opts = {
+ .pattern = optarg,
+ };
struct all_refs_cb cb;
init_all_refs_cb(&cb, revs, *flags);
- refs_for_each_glob_ref(get_main_ref_store(the_repository),
- handle_one_ref, optarg, &cb);
+ refs_for_each_ref_ext(get_main_ref_store(the_repository),
+ handle_one_ref, &cb, &opts);
clear_ref_exclusions(&revs->ref_excludes);
return argcount;
} else if ((argcount = parse_long_opt("exclude", argv, &optarg))) {