Johannes Schindelin wrote: > > On Wed, 17 Jan 2007, Jakub Narebski wrote: > >> Dnia wtorek 16. stycznia 2007 23:56, Johannes Schindelin napisa?: >>> So, how about a "git repo-config --dump" which outputs a stream of NUL >>> separated keys and values? This should be really easy to "parse", and >>> there are no ambiguities: No key or value can contain a NUL. >> >> Good idea, although "\n" would work as well as NUL. > > No it would not: > > [someSection] > thisKey = has\na\nvalue\with\nseveral\nnewlines $ fatal: bad config file line <nn> in <config> The same with quoted: [someSection] qthisKey = "has\na\nvalue\with\nseveral\nnewlines" There is no escaping besides escaping " and escape character i.e. escaping \ in git config. Se "\n" would work as well as NUL. (It is said explicitely that subsection names cannot contain "\n"). >> The only problem is with "key without value" case, i.e. something like >> >> [section] >> noval >> >> which shows as >> >> section.noval > > but is equivalent to > > [section] > noval = true > > Since it is by definition a boolean value. But only for "git repo-config --bool --get section.noval" output. Semantically equivalent to "true". But without --bool it returns like it was "". >> in "git repo-config -l" output (note missing '=' !), and I guess differs >> for some case from >> >> [section] >> noval = > > Yes, this is not a boolean. The difference is that the callback function > is called with NULL in the former case, and with "" in the latter. -- Jakub Narebski Poland - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html