diff options
| author | Junio C Hamano <gitster@pobox.com> | 2025-02-12 10:08:54 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-02-12 10:08:54 -0800 |
| commit | 998c5f0c7554f511bafff587292f986a42fa2944 (patch) | |
| tree | 09b67e85355f25fc4ccef877c53afd19ffb8ca77 /refspec.h | |
| parent | 791677a5ddce9730a1203188938406ae030ed170 (diff) | |
| parent | d549b6c9ff44d3ccb32b9bfe1816d3cfb1d7052a (diff) | |
| download | git-998c5f0c7554f511bafff587292f986a42fa2944.tar.xz | |
Merge branch 'ms/refspec-cleanup'
Code clean-up. cf. <Z6G-toOJjMmK8iJG@pks.im>
* ms/refspec-cleanup:
refspec: relocate apply_refspecs and related funtions
refspec: relocate matching related functions
remote: rename query_refspecs functions
refspec: relocate refname_matches_negative_refspec_item
remote: rename function omit_name_by_refspec
Diffstat (limited to 'refspec.h')
| -rw-r--r-- | refspec.h | 37 |
1 files changed, 37 insertions, 0 deletions
@@ -30,6 +30,8 @@ struct refspec_item { char *raw; }; +struct string_list; + #define REFSPEC_FETCH 1 #define REFSPEC_PUSH 0 @@ -71,4 +73,39 @@ struct strvec; void refspec_ref_prefixes(const struct refspec *rs, struct strvec *ref_prefixes); +int refname_matches_negative_refspec_item(const char *refname, struct refspec *rs); + +/* + * Checks whether a name matches a pattern and optionally generates a result. + * Returns 1 if the name matches the pattern, 0 otherwise. + */ +int match_name_with_pattern(const char *key, const char *name, + const char *value, char **result); + +/* + * Queries a refspec for a match and updates the query item. + * Returns 0 on success, -1 if no match is found or negative refspec matches. + */ +int refspec_find_match(struct refspec *rs, struct refspec_item *query); + +/* + * Queries a refspec for all matches and appends results to the provided string + * list. + */ +void refspec_find_all_matches(struct refspec *rs, + struct refspec_item *query, + struct string_list *results); + +/* + * Remove all entries in the input list which match any negative refspec in + * the refspec list. + */ +struct ref *apply_negative_refspecs(struct ref *ref_map, struct refspec *rs); + +/* + * Search for a refspec that matches the given name and return the + * corresponding destination (dst) if a match is found, NULL otherwise. + */ +char *apply_refspecs(struct refspec *rs, const char *name); + #endif /* REFSPEC_H */ |
