From: Sam Vilain Date: Wed, 08 Apr 2009 09:50:39 GMT Subject: Re: [PATCH] perl: add new module Git::Config for cached 'git config' access Message-ID: <49DC736F.1030007@catalyst.net.nz> In-Reply-To: <7vbpr7r72w.fsf@gitster.siamese.dyndns.org> Junio C Hamano wrote: > Jakub Narebski writes: > > >> Errr... wouldn't it be better to simply use >> >> + my ($item, $value) = split("\n", $_, 2) >> >> here? Have you tested Git::Config with a "null" value, i.e. something >> like >> >> [section] >> noval >> >> in the config file (which evaluates to 'true' with '--bool' option)? >> Because from what I remember from the discussion on the >> "git config --null --list" format the lack of "\n" is used to >> distinguish between noval (which is equivalent to 'true'), and empty >> value (which is equivalent to 'false') >> >> [boolean >> noval # equivalent to 'true' >> empty1 = # equivalent to 'false' >> empty2 = "" # equivalent to 'false' >> > > I do not mind if the _write method always wrote out > > [core] > autocrlf = true > > for a variable that is true, but it should be able to read existing > > [core] > autocrlf > > correctly. > Yep - that's what I thought was reasonable behaviour as well and what my submission does. > Sam, I think you meant to make me squash the "Oops, for no good reason, > here is a fix-up" into the previous one, but for this case, I'd appreciate > a re-roll of the series, that includes a test to read from an existing > configuration file that contains such "presense of the name alone means > boolean true" variables. > Sure, I rebased the series to have the fix-ups at the right places, but didn't think it was an interesting enough change to rate a full re-submission. The series at git://github.com/samv/git branch perl-Config has the minor change put into the place it was introduced. I put a little note to this effect after the --- line. I'm not quite sure what you want squashed where, maybe just edit the below list to be how you'd like it, pick d43238e perl: add new module Git::Config for cached 'git config' access pick 5ea135d perl: make Git.pm use new Git::Config module pick b2865bc perl: make Git::Config use --null pick 28eecdc perl: fix no value items in Git::Config :-) Sam