On 15/02/2019 20:12, Junio C Hamano wrote:
Elijah Newren <newren@xxxxxxxxx> writes:
Instead of outright deprecating it, would it make sense to include a
configuration option, say "diff.sensibleDots", that would enable a user
to set the dots to the other form if they desire?
I think Junio's suggested steps would still have to come first, and
there may also need to be a time period after two-dot notation is an
error before we were to try to repurpose it for something else (e.g.
to make it behave the same as triple-dot). Adding a config to change
things now without both a deprecation and error period would invite
horrible surprises and bug reports; people need time and warning to
change workflows and fix existing scripts that might be out there.
Historically, it was a mistake to allow A..B to be used for two
endpoints, which was made back when we haven't thought things
through. That is why I stopped "warn to deprecate and then
completely remove", as I do not think it would help people very much
if "git diff A B" can be spelled with two-dots.
But in a distant future long after that happens, by the time nobody
remembers what A..B meant for "git diff", I do not think I'd
strongly be opposed to reusing it to mean something different.
Would an option be to add a opt-in config to do the warning, rather than
start immediately at a deprecation warning?
It would give users the chance to test out their usage early should the
so wish/desire/notice.
I'd agree that the deprecation period would need to be quite a few
cycles before the default (unset) would be flipped to warn if not set,
yet still allow the warnings to be switched off for this case.
(obviously after the current release..)