Re: [PATCH] config: Add --quoted option to produce machine-parsable output
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- May 21, 2007, 18:46 UTC
- Message-ID
- <Pine.LNX.4.64.0705211945470.6410@racer.site>
- In-Reply-To
- <7vejladpfr.fsf@assigned-by-dhcp.cox.net>
Hi,
On Mon, 21 May 2007, Junio C Hamano wrote:
Show 43 quoted lines
> Frank Lichtenheld <frank@lichtenheld.de> writes:
>
> > This option will enclose key names in quotes (") if they
> > contain a subsection and then escape " and \. It will also
> > escape line breaks in values. Together this should produce
> > an easily parsable output.
> >
> > Affects --list and --get-*
> >
> > Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
> > ---
> > builtin-config.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++++-----
> > 1 files changed, 83 insertions(+), 9 deletions(-)
> >
> > Will add asciidoc documentation and test cases if people think that
> > this is a good idea.
> >
> > I'm writing C about once a year, so I really don't mind being told if
> > it's crap ;)
>
> We probably would want to make this compatible with the quoting rules
> various fo "host" language have. quote.c has host language support to
> implement {perl,python,tcl}_quote_print() for single string values or
> keys, so we should extend that idea.
>
> In your application, what you are trying to do is to show a "hash" (key
> => value) in a notation that is friendly to the host language.
>
> Git.pm could simply do:
>
> my $eval = `git config --perl --get-regexp 'gitcvs\..*'`;
> my $cfg = eval "$eval";
>
> if you code your "perl" notation to produce:
>
> +{
> 'gitcvs.ext.enabled' => 'false',
> 'gitcvs.logfile' => '/var/log/gitcvs.log',
> }
>
> in order to read things in.
>
> Hmm?IOW, something like http://article.gmane.org/gmane.comp.version-control.git/36922
Hmm?
Ciao, Dscho