On Mon, Jan 26, 2009 at 05:47:54PM -0800, Keith Cascio wrote: > > 2. It is unset. The rationale is that you are using the "c" diff > > driver, and it has left the value unset. The default then means "if > > you have no diff driver setup". > > I'm in favor of option (2), because [diff] a.k.a [diff ""] serving as Nit: [diff] and [diff ""] are different. The "dotted" notation which we use in the code and which git-config respects for a variable "foo" in each section would look like "diff.foo" and "diff..foo", respectively. > the fallback for [diff *] feels like a special case. If a full system > of precedence Yes, I think having a "this is the default driver whose driver-specific options are used if you don't have a different driver" is semantically simple and clear. > and fallbacks is desired for .git/config, we should adopt explicit > grammar that lets me define an arbitrary precedence tree over all > sections. Once a powerful concept is born, somewhere down the road, > some user will desire its universalization. OK, now you're scaring me. :) I'm not sure I want to see the grammar you would use to define an arbitrary precedence tree, or whether such complexity has any real-world use in git config. I think you would have to show a concrete example to prove the utility of something like that. -Peff -- 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