From: Dana How Date: Wed, 09 May 2007 06:46:57 GMT Subject: Re: [PATCH v2] Custom compression levels for objects and packs Message-ID: <56b7f5510705082346m32d3c48dj987fd9b0a6118c10@mail.gmail.com> In-Reply-To: On 5/8/07, Nicolas Pitre wrote: > On Tue, 8 May 2007, Dana How wrote: > > On 5/8/07, Nicolas Pitre wrote: > > > On Tue, 8 May 2007, Junio C Hamano wrote: > > > If we want the fallback logic to work, at some point we must remember if > > > the current value is the default or if it is the result of an explicit > > > config option. > > I can leave as-is, or use a magic value like -99 and > > depend on it not colliding with values in zlib.h. > And where would you set those variables to a sensible default in the > absence of any config option? This is why I used the _seen variables, but they are not necessary -- see 3rd option below. Unfortunately we agreed a day or two ago to use a config rule like used_value = isset(var1) ? var1 : isset(var2) ? var2 : DEFAULT. This doesn't interact well with each variable being processed completely independently in git_config() and the callbacks it calls. The isset() value is "out-of-band"; either store it in the _seen variables, or some special value in used_value . Which makes the most sense: * Leave _seen as-is; * Move pack.compression recognition into config.c which means the _seen variables would all be local to config.c; * Use some special value, and if still present replace it with the default at the end of git_config() using extra code; * Change the config rule to something simpler. I like the 2nd and the 4th. You didn't like the 4th. Shall I change to the 2nd? Thanks, -- Dana L. How danahow@gmail.com +1 650 804 5991 cell