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

Re: [RFC/PATCH 2/3] add a library of code for producing structured output

From
Julian Phillips <julian@quantumfyre.co.uk>
Date
Apr 11, 2010, 20:46 UTC
Message-ID
<aae50060001ba0a214ed71ceff3fa480@212.159.54.234>
In-Reply-To
<m3y6gtg24x.fsf@localhost.localdomain>

On Sun, 11 Apr 2010 13:34:59 -0700 (PDT), Jakub Narebski <jnareb@gmail.com> wrote:

Show 6 quoted lines
> Julian Phillips <julian@quantumfyre.co.uk> writes:
>> On Sun, 11 Apr 2010 11:16:18 -0700, Junio C Hamano <gitster@pobox.com>
>> wrote:
>>> Julian Phillips <julian@quantumfyre.co.uk> writes:
>>> 
>>>> Add a library that allows commands to produce structured output in
any
>>>> of a range of formats using a single API.
>>>>
>>>> The API includes an OPT_OUTPUT and handle_output_arg so that the
>>>> option handling for different commands will be as similar as
possible.
>>> 
>>> I was hoping that the existing low-level -z routines (e.g. "diff-*
-z")
>>> follow similar enough patterns to have a corresponding output-z.c and
be
Show 7 quoted lines
>>> handled inside output.c library.  But that is not a requirement, just
>>> "would have been nicer if the original were written that way".
>> 
>> As the API currently stands, I don't think it would be possible to
>> recreate the existing output of -z, as the separator between values is
>> not
>> constant.  I haven't really looked into whether the output is
completely
>> incompatible with structured output though (i.e. could -z be supported
by
>> adding one or two functions to the API?).
> 
> What about the new(ly) proposed -Z output in one of its variants,
> namely with single NUL ("\0") as field separator, and double NUL
("\0\0")
> as a record terminator?

That should be much easier. Though actually I am fairly close to getting _all_ output from ls-tree going through the output library ... (i.e. even the normal no-option output). I don't know what people's opinion on this approach is, but I thought it was worth a try anyway.

-- 
Julian
Previous: Jakub NarebskiNext: Eric Raymond
Message 13 of 24 in “JSON/XML output for scripting interface”
  1. 0/3 JSON/XML output for scripting interfaceJulian Phillips, Apr 11, 2010
  2. 1/3 strbuf: Add strbuf_vaddf functionJulian Phillips, Apr 11, 2010
  3. Erik Faye-LundApr 11, 2010
  4. Julian PhillipsApr 11, 2010
  5. 2/3 add a library of code for producing structured outputJulian Phillips, Apr 11, 2010
  6. Erik Faye-LundApr 11, 2010
  7. Julian PhillipsApr 11, 2010
  8. Jakub NarebskiApr 11, 2010
  9. Junio C HamanoApr 11, 2010
  10. Sverre RabbelierApr 11, 2010
  11. Julian PhillipsApr 11, 2010
  12. Jakub NarebskiApr 11, 2010
  13. Julian PhillipsApr 11, 2010
  14. Eric RaymondApr 11, 2010
  15. 3/3 status: add support for structured outputJulian Phillips, Apr 11, 2010
  16. Sverre RabbelierApr 11, 2010
  17. Julian PhillipsApr 11, 2010
  18. Sverre RabbelierApr 11, 2010
  19. Julian PhillipsApr 11, 2010
  20. Sverre RabbelierApr 11, 2010
  21. Jon SeymourApr 11, 2010
  22. Eric RaymondApr 11, 2010
  23. Jon SeymourApr 11, 2010
  24. Julian PhillipsApr 11, 2010

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.