From: Frank Lichtenheld Date: Sat, 12 May 2007 21:31:53 GMT Subject: Re: [PATCH] cvsserver: Complete rewrite of the configuration parser Message-ID: <20070512213153.GC7184@planck.djpig.de> In-Reply-To: <7v4pmhyfre.fsf@assigned-by-dhcp.cox.net> On Sat, May 12, 2007 at 12:59:49PM -0700, Junio C Hamano wrote: > But all of this is post 1.5.2 material; we would want to have a > minimal fixup on 'master' before 1.5.2, independent of this > rewrite. Fair enough. So far I see three very minimal solutions, but I can't decide which one is the least ugly: (For all we can begin by limiting the used variables to ^gitcvs.((ext|pserver).)? ) 1) Drop variables named gitcvs.ext and gitcvs.pserver manually 2) Use the complete variable name as key to the hash instead of using a hash of hashes of hashes { "diff.color => "auto", "diff.color.whitespace" => "blue reverse" } 3) Make the second level always a hash, instead of using a string directly, so that Junio's example would look like this { diff => { color => { value => "auto", whitespace => "blue reverse" } } } Opinions? Gruesse, -- Frank Lichtenheld www: http://www.djpig.de/