Duy Nguyen <pclo...@gmail.com> writes: > I agree. Which is why I wrote "we probably want something in the same > spirit but limited to .gitattributes and .gitignore only". In other > words we could have core.someName that makes .gitattributes and > .gitignore patterns case-insensitive (or core-sensitive). If it's > present, it overrides core.ignoreCase. If it's not present, > core.ignoreCase decides. I'm just not sure if the new config should > cover everything involving filename's case in git. That's too big to > fit in my head.
Once I stopped thinking about this as "filename's case", it does fit my head ;-) I view the proposed knob as making patterns in .gitattributes and .gitignore case insensitive, iow, it is a lazy and useful short-hand for (mentally) editing "*.c attr" to "*.[cC] attr" without touching these files. And I agree that the knob that is missing in today's Git should default to whatever core.ignoreCase's value is, iow, on case insensitive filesystem, attr and ignore may match case insensitively in today's Git, but when the knob is introduced, it should allow forcing case sensitive match there by setting it to false, just like the knob is proposed to be used in the oppositite direction to force case insensitive match regardless of the case insensitiveness of the underlying filesystem.