From: Karthik Nayak Date: Fri, 12 Jun 2015 17:32:59 GMT Subject: Re: [PATCH v7 01/12] for-each-ref: extract helper functions out of grab_single_ref() Message-ID: <557B17CB.70001@gmail.com> In-Reply-To: On 06/12/2015 11:00 PM, Junio C Hamano wrote: > Karthik Nayak writes: > >> Extract two helper functions out of grab_single_ref(). Firstly, >> new_refinfo() which is used to allocate memory for a new refinfo >> structure and copy the objectname, refname and flag to it. >> Secondly, match_name_as_path() which when given an array of patterns >> and the refname checks if the refname matches any of the patterns >> given while the pattern is a pathname, also supports wildcard >> characters. >> >> This is a preperatory patch for restructuring 'for-each-ref' and >> eventually moving most of it to 'ref-filter' to provide the >> functionality to similar commands via public API's. >> >> Helped-by: Junio C Hamano >> Mentored-by: Christian Couder >> Mentored-by: Matthieu Moy >> Signed-off-by: Karthik Nayak >> --- >> builtin/for-each-ref.c | 64 ++++++++++++++++++++++++++++++++------------------ >> 1 file changed, 41 insertions(+), 23 deletions(-) >> >> diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c >> index f7e51a7..67c8b62 100644 >> --- a/builtin/for-each-ref.c >> +++ b/builtin/for-each-ref.c >> @@ -851,6 +851,44 @@ struct grab_ref_cbdata { >> }; >> >> /* >> + * Return 1 if the refname matches with one of the patterns, > > s/with //; Thanks! will change :) > >> + * otherwise 0. The patterns can be literal prefix (e.g. a >> + * refname "refs/heads/master" matches a pattern "refs/heads/") >> + * or a wildcard (e.g. the same ref matches "refs/heads/m*",too). >> + */ > > I know this was my bad suggestion, but "refs/heads/m" can be thought > of as a "literal prefix" that may match "refs/heads/master"; we do > not want to make that match, so perhaps "literal" is a bad way to > say this. "A pattern can be a path prefix or a worldcard"? > Yes! that sounds right, after all its doing a path match. -- Regards, Karthik