Tanay Abhra <tanayabh@xxxxxxxxx> writes: > I can think of two solutions, one leave it as it is and advertise it to be > explicitly typed in the config files at the appropriate position or to change > the behavior of unset.variable to unset all matching variables in that file, > before and after. We could also change git config --add to append at the end > of the file regardless the variable exists or not. Which course of action > do you think would be best? Off the top of my head, from an end-user's point of view, something like this would give a behaviour that is at least understandable: (1) forbid "git config" command line from touching "unset.var", as there is no way for a user to control where a new unset.var goes. And (2) When adding or appending section.var (it may also apply to removing one--you need to think about it deeper), ignore everything that comes before the last appearance of "unset.var" that unsets the "section.var" variable. That way, if you do not have "[section]" after "[unset] variable = section.var", you would end up adding a new "[section] var = value", and if you already have "[section]", you would add a "var = value" in that existing "[section]" that appears after the last unset of the variable, so eerything will be kept neat. Alternatively, if the syntax to unset a "section.var" were not [unset] variable = section.var but rather [section] ! variable or soemthing, then the current "find the section and append at the end" code may work as-is. -- 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