git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v8 0/8] Rewrite `git_config()` using config-set API

From
Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Date
Aug 8, 2014, 14:32 UTC
Message-ID
<53E4DF6D.8070904@ramsay1.demon.co.uk>
In-Reply-To
<53E4D986.6040708@gmail.com>
On 08/08/14 15:07, Tanay Abhra wrote:
Show 27 quoted lines
> On 8/8/2014 2:01 AM, Junio C Hamano wrote:
>> Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:
>>
>>>>> Why is this needed? Are you now using key_value_info outside config.c?
>>>>> Or is it a leftover from a previous experiment?
>>>>
>>>> Has this been resolved in the new round?
>>>
>>> Tanay explained in another subthread why this was needed. For callers
>>> iterating over the string_list who want to get the file/line info, they
>>> need to be able to cast the void * pointer to struct key_value_info *.
>>
>> For callers that want to see all the multi-values, it would be
>> preferrable for the iterator to pass the filename and the linenumber
>> to the callback function, instead of exposing its implementation
>> detail as a single string list and telling them to pick it apart,
>> no?
>>
>> Not a very convincing argument, but OK for now in the sense that we
>> can fix it later if we wanted to before it gets too late.
>>
> 
> (cc to Ramsay)
> 
> The discussion in both threads (v8 and v9), boils down to this,
> is the `key_value_info` struct really required to be declared public or should be
> just an implementation detail. I will give you the context,

No, this is not the issue for me. The patch which introduces the struct in cache.h does not make use of that struct in any interface. It *is* an implementation detail of some code in config.c only.

I do not know how that structure will be used in future patches. ;-)

ATB, Ramsay Jones

Previous: Tanay AbhraNext: Junio C Hamano
Message 20 of 22 in “Rewrite `git_config()` using config-set API”
  1. 0/8 Rewrite `git_config()` using config-set APITanay Abhra, Aug 6, 2014
  2. 1/8 config.c: mark error and warnings strings for translationTanay Abhra, Aug 6, 2014
  3. 2/8 config.c: fix accuracy of line number in errorsTanay Abhra, Aug 6, 2014
  4. 3/8 add line number and file name info to `config_set`Tanay Abhra, Aug 6, 2014
  5. Ramsay JonesAug 6, 2014
  6. 4/8 change `git_config()` return value to voidTanay Abhra, Aug 6, 2014
  7. 5/8 config: add `git_die_config()` to the config-set APITanay Abhra, Aug 6, 2014
  8. 6/8 rewrite git_config() to use the config-set APITanay Abhra, Aug 6, 2014
  9. 7/8 add a test for semantic errors in config filesTanay Abhra, Aug 6, 2014
  10. 8/8 add tests for `git_config_get_string_const()`Tanay Abhra, Aug 6, 2014
  11. Matthieu MoyAug 6, 2014
  12. Tanay AbhraAug 6, 2014
  13. Junio C HamanoAug 6, 2014
  14. Matthieu MoyAug 7, 2014
  15. Matthieu MoyAug 6, 2014
  16. Junio C HamanoAug 7, 2014
  17. Matthieu MoyAug 7, 2014
  18. Junio C HamanoAug 7, 2014
  19. Tanay AbhraAug 8, 2014
  20. Ramsay JonesAug 8, 2014
  21. Junio C HamanoAug 10, 2014
  22. Ramsay JonesAug 11, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.