Jonathan Nieder <jrnieder@xxxxxxxxx> 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".