Re: [PATCH 3/3] config: --get-urlmatch
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 30, 2013, 01:33 UTC
- Message-ID
- <7vbo5kzv9k.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20130730003716.GA13114@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 9 quoted lines
>> +struct urlmatch_item {
>> + size_t max_matched_len;
>> + char user_matched;
>> + char value_is_null;
>> + struct strbuf value;
>> +};
>
> I think you ultimately want such a string_list for matching arbitrary
> numbers of keys, but do you need it for the git-config case?"git config" does not know the semantics of each key, nor available set of keys, no? The string-list is only to support
git config --get-urlmatch http http://www.google.com/
i.e. "list everything under http.* hierarchy".
And unlike http_option() which can incrementally always call back the setter (and let it override older value), the command has to read everything through and then give us the final value, so I do not think we can get away without one.
Show 12 quoted lines
> You will always be matching collect->key, so you will only ever insert a
> single item into the collect->vars list. IOW, this could be:
>
> struct urlmatch_collect {
> struct url_info url;
> const char *section;
> const char *key;
> struct urlmatch_item match;
> };
>
> I don't mind if it is more complicated than this single-case needs to be
> if the code is also being used to http.c, but I haven't seen that yetThat is in the works, of course ;-)