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