You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Karl Fogel <kf...@newton.ch.collab.net> on 2003/02/07 18:30:17 UTC

Re: svn commit: rev 4780 - in trunk/subversion: include libsvn_wc libsvn_client tests/clients/cmdline

Eric Gillespie <ep...@tigris.org> writes:
> +svn_boolean_t
> +svn_wc_is_ignored (const char *path,
> +                   apr_array_header_t *ignores)
> +{
> +  int i;
> +
> +  for (i = 0; ignores && (i < ignores->nelts); i++)
> +    {
> +      const char *pat = (((const char **) (ignores)->elts))[i];
> +
> +      if (APR_SUCCESS == apr_fnmatch (pat, path, FNM_PERIOD))
> +        return TRUE;
> +    }
> +
> +  return FALSE;
> +}

Was it Brane who pointed out earlier that this function is really a
generic looper to match a path across fnmatch patterns?  Not saying it
should be moved right now; just making a mental note that if we find
another situation where we're matching a filename against a list of
patterns, probably we should genericize this and move it to svn_path.h
and libsvn_subr/path.c...

Anyway, nice fix (& regression test, too, yay).

-K

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn commit: rev 4780 - in trunk/subversion: include libsvn_wc libsvn_client tests/clients/cmdline

Posted by Eric Gillespie <ep...@pretzelnet.org>.
Greg Hudson <gh...@MIT.EDU> writes:

> If people (and in particular Eric) think it would be better to have
> svn_wc_is_ignored as a one-line function for clarity, then I apologize
> and can add it back in on request.

Nope, i think using svn_cstring_match_glob_list is the way to
go.  Thanks for fixing this.

--  
Eric Gillespie <*> epg@pretzelnet.org

Build a fire for a man, and he'll be warm for a day.  Set a man on
fire, and he'll be warm for the rest of his life. -Terry Pratchett

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn commit: rev 4780 - in trunk/subversion: include libsvn_wc libsvn_client tests/clients/cmdline

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
Greg Hudson <gh...@MIT.EDU> writes:
> (It's a question of phenomenology, really.  From a reductionist
> perspective, svn_wc_is_ignored is the same as
> svn_cstring_match_glob_list, and having one pass its arguments to the
> other is a gratuitous layer of abstraction.  But from a holistic
> perspective, you might argue that it's not; it performs the logical
> function of checking a string against an ignore list which merely
> happens to be of the form accepted by match_glob_list.  Normally I like
> to think I am holistic programmer, but for some reason the holistic
> argument isn't sitting well with me in this case, so I chose the
> reductionist perspective. </philosophy>)

I'd just like to say that I read this paragraph aloud to Mike Pilato,
and we both enjoyed it greatly.

An amateur acquaintance with biology has mostly convinced me that
holism is just a primate's gloss on complexity anyway, i.e.,
essentially reductive in nature.  Therefore, +1.

:-)


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn commit: rev 4780 - in trunk/subversion: include libsvn_wc libsvn_client tests/clients/cmdline

Posted by Greg Hudson <gh...@MIT.EDU>.
 On Fri, 2003-02-07 at 13:30, Karl Fogel wrote:
> Was it Brane who pointed out earlier that this function is really a
> generic looper to match a path across fnmatch patterns?  Not saying it
> should be moved right now; just making a mental note that if we find
> another situation where we're matching a filename against a list of
> patterns, probably we should genericize this and move it to svn_path.h
> and libsvn_subr/path.c...

We already have a very similar function, svn_cstring_match_glob_list, a
function I introduced when fiddling with svn_config.  The only
difference was that match_glob_list was taking a comma-separated string
of glob patterns instead of an apr_array_header_t.  I decided that
match_glob_list should be more general anyway, so I modified it to take
an apr_arrary_header_t and nuked svn_wc_is_ignored in its favor.

If people (and in particular Eric) think it would be better to have
svn_wc_is_ignored as a one-line function for clarity, then I apologize
and can add it back in on request.

(It's a question of phenomenology, really.  From a reductionist
perspective, svn_wc_is_ignored is the same as
svn_cstring_match_glob_list, and having one pass its arguments to the
other is a gratuitous layer of abstraction.  But from a holistic
perspective, you might argue that it's not; it performs the logical
function of checking a string against an ignore list which merely
happens to be of the form accepted by match_glob_list.  Normally I like
to think I am holistic programmer, but for some reason the holistic
argument isn't sitting well with me in this case, so I chose the
reductionist perspective. </philosophy>)


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org