run_service(argv, 0);
} else {
+ struct refs_for_each_ref_options opts = {
+ .namespace = get_git_namespace(),
+ };
+
select_getanyfile(hdr);
- refs_for_each_namespaced_ref(get_main_ref_store(the_repository),
- NULL, show_text_ref, &buf);
+ refs_for_each_ref_ext(get_main_ref_store(the_repository),
+ show_text_ref, &buf, &opts);
send_strbuf(hdr, "text/plain", &buf);
}
strbuf_release(&buf);
return refs_for_each_ref_ext(refs, cb, cb_data, &opts);
}
-int refs_for_each_namespaced_ref(struct ref_store *refs,
- const char **exclude_patterns,
- refs_for_each_cb cb, void *cb_data)
-{
- struct refs_for_each_ref_options opts = {
- .exclude_patterns = exclude_patterns,
- .namespace = get_git_namespace(),
- };
- return refs_for_each_ref_ext(refs, cb, cb_data, &opts);
-}
-
static int qsort_strcmp(const void *va, const void *vb)
{
const char *a = *(const char **)va;
const struct refs_for_each_ref_options *opts,
refs_for_each_cb cb, void *cb_data);
-/*
- * references matching any pattern in "exclude_patterns" are omitted from the
- * result set on a best-effort basis.
- */
-int refs_for_each_namespaced_ref(struct ref_store *refs,
- const char **exclude_patterns,
- refs_for_each_cb fn, void *cb_data);
-
/*
* Normalizes partial refs to their fully qualified form.
* Will prepend <prefix> to the <pattern> if it doesn't start with 'refs/'.
static void for_each_namespaced_ref_1(refs_for_each_cb fn,
struct upload_pack_data *data)
{
- const char **excludes = NULL;
+ struct refs_for_each_ref_options opts = {
+ .namespace = get_git_namespace(),
+ };
+
/*
* If `data->allow_uor` allows fetching hidden refs, we need to
* mark all references (including hidden ones), to check in
* hidden references.
*/
if (allow_hidden_refs(data->allow_uor))
- excludes = hidden_refs_to_excludes(&data->hidden_refs);
+ opts.exclude_patterns = hidden_refs_to_excludes(&data->hidden_refs);
- refs_for_each_namespaced_ref(get_main_ref_store(the_repository),
- excludes, fn, data);
+ refs_for_each_ref_ext(get_main_ref_store(the_repository),
+ fn, data, &opts);
}