From: Petr Baudis <pasky@suse.cz>
To: Frank Lichtenheld <frank@lichtenheld.de>
Cc: Git Mailing List <git@vger.kernel.org>, Junio C Hamano <junkio@cox.net>
Subject: Re: [RFC] Implementing git config handling in Git.pm
Date: Mon, 21 May 2007 01:14:14 +0200 [thread overview]
Message-ID: <20070520231413.GE4489@pasky.or.cz> (raw)
In-Reply-To: <20070520225953.GK4085@planck.djpig.de>
Hi,
On Mon, May 21, 2007 at 12:59:54AM CEST, Frank Lichtenheld wrote:
> Possible Solutions:
> 1) Call git-config.
> Pro: Easy to implement
> Contra: Violates at least target 2. Neither git-config --get nor
> git-config --list offer a complete and safe view on the config
> file. Just try including = in a subsection name (--list) or newlines in
> a value (both) to see what I mean.
> 2) Extend git-config to give a machine parsable output and then
> proceed with solution 1
> Pro: Still reasonably easy to implement (?). Would benefit
> other scripts, too.
> Contra: Neither the fastest nor the most flexible
> solution.
Yes, this might be fine for you. The argument for 4 (implementing our
own in Perl) is that we would like it to be _real_ fast for gitweb
(especially the summary page needs to look at each repository). But it
would be a question of a benchmark to look really how much would calling
git-config slow us down. So as at least a proof-of-concept and initial
implementation I think this is more than fine, and we can proceed to
implement our own parser only when it's clearly needed.
> 3) Try to use the C code from config.c directly.
> Pro: Probably the fastest solution due to avoiding the
> forks.
> Contra: Probably a bit more complex (any XS experts here?),
> both to implement and to maintain.
There was various trouble with XS in the past, and I think the general
feel was that we want to get back to using XS again sometime, but only
when Git will be reasonably libified (to support multiple repositories
at once, etc.).
> 4) Implement an own git config parser in Perl
> Pro: Might be actually easier than 3 and faster than 2
> Contra: See target 3
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
Ever try. Ever fail. No matter. // Try again. Fail again. Fail better.
-- Samuel Beckett
next prev parent reply other threads:[~2007-05-20 23:14 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 [this message]
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
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=20070520231413.GE4489@pasky.or.cz \
--to=pasky@suse.cz \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).