Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH] config: Add --quoted option to produce machine-parsable output

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:43:11

Hi,

On Mon, 21 May 2007, Junio C Hamano wrote:
Frank Lichtenheld [off-list ref] writes:
quoted
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 <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help