[PATCH v16 07/11] refs.c: refactor to reuse ref_is_hidden()
- From
Jiang Xin <worldhello.net@gmail.com>
- Date
- May 18, 2020, 09:40 UTC
- Message-ID
- <20200518094039.757-8-worldhello.net@gmail.com>
- In-Reply-To
- <20200507161057.12690-1-worldhello.net@gmail.com>
From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Add new function `ref_is_matched()` to reuse `ref_is_hidden()`. Will use this function for `receive-pack` to check commands with specific prefixes.
Test case t5512 covered this change.
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com> --- refs.c | 13 +++++++++---- refs.h | 1 + 2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/refs.c b/refs.c index 224ff66c7b..76a91ac0f6 100644 --- a/refs.c +++ b/refs.c @@ -1344,14 +1344,14 @@ int parse_hide_refs_config(const char *var, const char *value, const char *secti return 0; } -int ref_is_hidden(const char *refname, const char *refname_full) +int ref_matches(struct string_list *match_refs, const char *refname, const char *refname_full) { int i; - if (!hide_refs) + if (!match_refs) return 0; - for (i = hide_refs->nr - 1; i >= 0; i--) { - const char *match = hide_refs->items[i].string; + for (i = match_refs->nr - 1; i >= 0; i--) { + const char *match = match_refs->items[i].string; const char *subject; int neg = 0; const char *p; @@ -1377,6 +1377,11 @@ int ref_is_hidden(const char *refname, const char *refname_full) return 0; } +int ref_is_hidden(const char *refname, const char *refname_full) +{ + return ref_matches(hide_refs, refname, refname_full); +} + const char *find_descendant_ref(const char *dirname, const struct string_list *extras, const struct string_list *skip) diff --git a/refs.h b/refs.h index a92d2c74c8..9907dd12b0 100644 --- a/refs.h +++ b/refs.h @@ -727,6 +727,7 @@ int parse_hide_refs_config(const char *var, const char *value, const char *); * parameter always points to the full ref name. */ int ref_is_hidden(const char *, const char *); +int ref_matches(struct string_list *, const char *, const char *); enum ref_type { REF_TYPE_PER_WORKTREE, /* refs inside refs/ but not shared */
-- 2.26.1.120.g98702cf3e9