Tanay Abhra <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html