Jonathan Nieder [off-list ref] writes:
Sorry for the lack of clarity. I mean allowing
[rebase]
backend = am
backend = apply
backend = futuristic
with behavior
- on "git" that understands am but not apply or futuristic, use the am
backend
- on "git" that understands apply but not am or futuristic, use the
apply backend
- on "git" that understands apply and futuristic, use the futuristic
backend
That way, a single config file is usable on all three versions of Git.
IOW, make rebase.backend a multi-valued one and use it when one and
only one value is a recognised one? What would an error message say
when none is recognised, and when would that be issued?
I like the general direction it takes, but I think it would be
simpler to (1) die when we see what we do not recognise and (2)
teach the latest one that "am" is a synonym for "apply", without
even advertising "am".