From: Jakub Narebski <jnareb@gmail.com>
To: Frank Lichtenheld <frank@lichtenheld.de>
Cc: Git Mailing List <git@vger.kernel.org>, Junio C Hamano <junkio@cox.net>
Subject: Re: [PATCH/RFC] config: Add --null/-z option for null-delimted output
Date: Fri, 22 Jun 2007 01:56:00 +0200 [thread overview]
Message-ID: <200706220156.01175.jnareb@gmail.com> (raw)
In-Reply-To: <11821227322913-git-send-email-frank@lichtenheld.de>
On Mon, 18 Jun 2007, Frank Lichtenheld wrote:
> Use \n as delimiter between key and value and \0 as
> delimiter after each key/value pair. This should be
> easily parsable output.
>
> Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
> ---
> builtin-config.c | 15 +++++++++++----
> 1 files changed, 11 insertions(+), 4 deletions(-)
No documentation. But this is an RFC.
> Note the FIXME. Does anyone remember the reason why --get-regexp
> and --list use different output format?
I don't know, but at least two scripts use --get-regexp, namely
git-remote and git-submodule. So we would have to be careful about
changing that.
I would be enough to add the following to your patch:
> @@ -12,14 +12,16 @@ static int use_key_regexp;
> static int do_all;
> static int do_not_match;
> static int seen;
> +static char delim = '=';
> +static char term = '\n';
+static char key_delim = ' ';
> static enum { T_RAW, T_INT, T_BOOL } type = T_RAW;
[...]
> @@ -39,6 +41,7 @@ static int show_config(const char* key_, const char* value_)
> return 0;
>
> if (show_keys)
> + /* FIXME: not useful with --null */
- printf("%s ", key_);
+ printf("%s%c", key_, key_delim);
> if (seen && !do_all)
> dup_error = 1;
[...]
> @@ -155,6 +158,10 @@ int cmd_config(int argc, const char **argv, const char *prefix)
> }
> else if (!strcmp(argv[1], "--system"))
> setenv("GIT_CONFIG", ETC_GITCONFIG, 1);
> + else if (!strcmp(argv[1], "--null") || !strcmp(argv[1], "-z")) {
> + term = '\0';
> + delim = '\n';
+ key_delim = '\n';
> + }
> else if (!strcmp(argv[1], "--rename-section")) {
> int ret;
> if (argc != 4)
By the way, I have tried to use git-config --null to redo config
file parsing in gitweb, so one git-config call would be needed for
all the config. I have noticed that --bool option description does
not describe the observed behavior fully. For example it returns
'true' not only for '1', but for any integer != 0, including 0xdeadbeef.
By the way, the error message when key value _cannot_ be converted to
the boolean is somewhat misleading:
$ GIT_CONFIG=conftest git config --bool bool.key7
fatal: bad config value for 'bool.key7' in conftest
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2007-06-22 0:02 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-20 22:59 [RFC] Implementing git config handling in Git.pm Frank Lichtenheld
2007-05-20 23:14 ` Petr Baudis
2007-05-21 17:46 ` [PATCH] config: Add --quoted option to produce machine-parsable output Frank Lichtenheld
2007-05-21 18:03 ` Junio C Hamano
2007-05-21 18:46 ` Johannes Schindelin
2007-05-21 21:18 ` Junio C Hamano
2007-05-21 21:53 ` Johannes Schindelin
2007-05-21 19:54 ` Jan Hudec
2007-05-21 20:58 ` Frank Lichtenheld
2007-05-21 22:37 ` Jakub Narebski
2007-06-17 23:25 ` [PATCH/RFC] config: Add --null/-z option for null-delimted output Frank Lichtenheld
2007-06-19 0:55 ` Johannes Schindelin
2007-06-19 1:16 ` Jakub Narebski
2007-06-19 1:17 ` Frank Lichtenheld
2007-06-19 1:32 ` Johannes Schindelin
2007-06-19 1:37 ` Junio C Hamano
2007-06-19 2:12 ` Frank Lichtenheld
2007-06-19 11:09 ` Johannes Schindelin
2007-06-19 11:19 ` David Kastrup
2007-06-19 11:50 ` Jakub Narebski
2007-06-19 15:21 ` Frank Lichtenheld
2007-06-19 15:57 ` Johannes Schindelin
2007-06-19 17:26 ` Frank Lichtenheld
2007-06-20 10:31 ` Johannes Schindelin
2007-06-20 16:54 ` Jakub Narebski
2007-06-21 23:56 ` Jakub Narebski [this message]
2007-06-22 12:02 ` Frank Lichtenheld
2007-06-25 14:03 ` [PATCH 1/3] config: Complete documentation of --get-regexp Frank Lichtenheld
2007-06-25 14:03 ` [PATCH 2/3] config: Change output of --get-regexp for valueless keys Frank Lichtenheld
2007-06-27 2:14 ` Junio C Hamano
2007-06-25 14:03 ` [PATCH 3/3] config: Add --null/-z option for null-delimted output Frank Lichtenheld
2007-06-25 23:29 ` Jakub Narebski
2007-06-26 10:47 ` Frank Lichtenheld
2007-06-27 2:14 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200706220156.01175.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=frank@lichtenheld.de \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.