Jeff King <p...@peff.net> writes:

> Here's a sketch if anybody is inclined to pick it up and run with it.
> Note that I did not think too hard about little things like the
> de-anchoring.
> ...
>  int git_config_include(const char *var, const char *value, void *data)
>  {
>       struct config_include_data *inc = data;
> +     const char *cond, *key;
> +     int cond_len;
>       int ret;
>  
>       /*
> @@ -152,8 +188,12 @@ int git_config_include(const char *var, const char 
> *value, void *data)
>       if (ret < 0)
>               return ret;
>  
> -     if (!strcmp(var, "include.path"))
> -             ret = handle_path_include(value, inc);
> +     if (!parse_config_key(var, "include", &cond, &cond_len, &key) &&
> +         include_condition_is_true(cond, cond_len)) {

I really like these two lines.

Whoever designed that parse_config_key() interface either is a
genious or had a foresight with a crystal ball, or perhaps both.

> +             if (!strcmp(key, "path"))
> +                     ret = handle_path_include(value, inc);
> +             /* else we do not know about this type of include; ignore */
> +     }
>       return ret;
>  }
>  
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to