From: Junio C Hamano Date: Tue, 30 Jul 2013 21:09:37 GMT Subject: Re: [PATCH 5/3] revert most of the http_options() change Message-ID: <7vy58nvjou.fsf@alter.siamese.dyndns.org> In-Reply-To: <3C93D9D6-8FC3-4D94-AE6E-37150202314A@gmail.com> "Kyle J. McKay" writes: > And now all the t5200-url-normalize tests pass again. > > FYI, I couldn't get the patches to apply against next or pu without > some minor tweaks that were just conflict resolutions having to do > with git_config_with_options changing its signature. Thanks. I built these five patches directly on top of your series, i.e. on top of cea9928d (docs: update http..* options documentation, 2013-07-25). I'll rebuild the series with your fixes and I may even queue it to 'pu', but with some random thoughts: * "url-match.[ch]" are ugly names. I'd be happier with "urlmatch.[ch]". * In the end result, http_options() looks mostly identical to that of the 'master', but it got an extra "void *matched", only to support "git config --get-urlmatch". I however do not have to, if I do a few things: - Instead of implementing urlmatch_config_item that extends urlmatch_item, have a separate string_list, keyed by the variable names, and point the string_list with the generic cb pointer I already have in urlmatch_config. The fn() on the "git config" side has to index this second string_list with the variable and keep track of the value from the best candidate we have seen so far. - The above allows us to lose item_alloc and item_clear callback functions from urlmatch_config, as we will not be doing the structure inheritance to extend urlmatch_item. - We still need cascade_fn callback, though. * With the above, http_options() does not have to change in the series. We could restructure the series perhaps this way: - http.sslCertPasswordProtected parsing fix. - Add urlmatch.[ch], which would be your "config: improve support for http..* settings" and yesterday's "url-match: split out URL matching logic out of http.c", and a half of "url-match: generalize configuration collection logic". - Update http.c to use urlmatch.[ch] to make http.c match the result of the endgame patch [5/3], and add necessary end user documentation to Documentation/config.txt. - Add test-url-normalize and t/t5200 - Update builtin/config.c for "--get-urlmatch", to make builtin/config.c match the result of the endgame patch [5/3], add end user documentation to Documentation/git-config.txt. - Add some tests for "git config --get-urlmatch".