]> git.ipfire.org Git - thirdparty/git.git/blobdiff - ls-refs.c
Merge branch 'tb/refs-exclusion-and-packed-refs'
[thirdparty/git.git] / ls-refs.c
index a29c2364a5971bf1b43c3dc45f56a692cafec736..0e49b932c308b24a5654910d5e0197cf1388162e 100644 (file)
--- a/ls-refs.c
+++ b/ls-refs.c
@@ -72,7 +72,7 @@ struct ls_refs_data {
        unsigned symrefs;
        struct strvec prefixes;
        struct strbuf buf;
-       struct string_list hidden_refs;
+       struct strvec hidden_refs;
        unsigned unborn : 1;
 };
 
@@ -156,7 +156,7 @@ int ls_refs(struct repository *r, struct packet_reader *request)
        memset(&data, 0, sizeof(data));
        strvec_init(&data.prefixes);
        strbuf_init(&data.buf, 0);
-       string_list_init_dup(&data.hidden_refs);
+       strvec_init(&data.hidden_refs);
 
        git_config(ls_refs_config, &data);
 
@@ -194,11 +194,12 @@ int ls_refs(struct repository *r, struct packet_reader *request)
                strvec_push(&data.prefixes, "");
        refs_for_each_fullref_in_prefixes(get_main_ref_store(r),
                                          get_git_namespace(), data.prefixes.v,
+                                         hidden_refs_to_excludes(&data.hidden_refs),
                                          send_ref, &data);
        packet_fflush(stdout);
        strvec_clear(&data.prefixes);
        strbuf_release(&data.buf);
-       string_list_clear(&data.hidden_refs, 0);
+       strvec_clear(&data.hidden_refs);
        return 0;
 }