From ec0cb496553ac82f97205a415ca77618406b30e3 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Wed, 16 May 2018 15:57:48 -0700 Subject: refspec: move refspec parsing logic into its own file In preparation for performing a refactor on refspec related code, move the refspec parsing logic into its own file. Signed-off-by: Brandon Williams Signed-off-by: Junio C Hamano --- refspec.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 refspec.h (limited to 'refspec.h') diff --git a/refspec.h b/refspec.h new file mode 100644 index 0000000000..62625c23a3 --- /dev/null +++ b/refspec.h @@ -0,0 +1,23 @@ +#ifndef REFSPEC_H +#define REFSPEC_H + +#define TAG_REFSPEC "refs/tags/*:refs/tags/*" +extern const struct refspec *tag_refspec; + +struct refspec { + unsigned force : 1; + unsigned pattern : 1; + unsigned matching : 1; + unsigned exact_sha1 : 1; + + char *src; + char *dst; +}; + +int valid_fetch_refspec(const char *refspec); +struct refspec *parse_fetch_refspec(int nr_refspec, const char **refspec); +struct refspec *parse_push_refspec(int nr_refspec, const char **refspec); + +void free_refspec(int nr_refspec, struct refspec *refspec); + +#endif /* REFSPEC_H */ -- cgit v1.2.3