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 - 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