Jeff King <peff@xxxxxxxx> writes: > From the user's perspective, I don't see how the implied relationships > are significantly different. In type 1, they are placed inside a single > value and in type 2, they are not. Both are a form of grouping. > > Moreover, I am not even sure that the syntax is an important element in > communicating semantic relationships. I think we are in agreement and I do not see how you can draw different conclusions. The above argument refutes the point Michael made a big deal out of, which was that "these are individual and independent bools in the implementation detail of the code, expose that as such to the end users." I do not buy that point, i.e. it is not a good argument to favor style 2 over style 1, which was the primary thing I wanted to illustrate in the message you are responding to. > 1. I'm a user who has set my preferred core.whitespace in my > ~/.gitconfig. A particular project I am working on uses an > alternate tabwidth. How do I set that in the repo config without > repeating my defaults? Isn't it cumulative? At least it should be (but I wouldn't be too surprised if the recent config reader caching broke it). > 2. I'm writing a hook whose behavior depends on the whitespace > settings. How do I ask git whether blank-at-eol is enabled? If that becomes an issue, "git config" would have to learn about them, just like it knows about how to do --color depending on the tty-ness of the output. > 3. I'm a user who wants to set whitespace config. I prefer using "git > config" to editing the file manually. How do I turn off > blank-at-eol without disrupting my existing settings? See above 1. >> I see Peff cites "pager.<cmd>", but I think it was something that we >> would rather shouldn't have done, similar to "alias.<cmd>". They >> are bad precedents we shouldn't encourage new things to mimic. >> >> But that is not from "one-variable-with-list-is-better" (it is not >> better for these "independent" ones) but is purely from the syntax >> point of view. > > Yeah, I'd agree that the problem there is orthogonal to the type 1/2 > thing above. I don't think it has been a big deal in practice, just > because people with good taste do not name their commands with uppercase > anyway. > > I'd be happy to transition to pager.*.enabled, etc, if we care. I have no strong opinion. It was primarily meant to illustrate why pager.<cmd> and alias.<cmd> were bad precedents that should not be used to support design of future things. -- 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