[PATCH RFC] pager: migrate to core
Matt Mackall
mpm at selenic.com
Tue Nov 24 21:44:46 UTC 2015
On Tue, 2015-11-24 at 10:31 -0800, Bryan O'Sullivan wrote:
> # HG changeset patch
> # User Bryan O'Sullivan <bos at serpentine.com>
> # Date 1448389126 28800
> # Tue Nov 24 10:18:46 2015 -0800
> # Node ID f63938a2292eaec78637835221916794d6f60994
> # Parent f668eef04abc3de94f41b527daa0bb7a0cf76f56
> pager: migrate to core
>
> We need to retain an extension module for a long time (possibly
> indefinitely), for two reasons:
>
> - Deleting the extension entirely will break the configs of existing
> users of the extension.
This is what the _ignore list in extensions.py is for. We've eliminated
half a dozen extensions without breaking config files.
> - Some out-of-tree extensions "know" that hgext.pager.attended is
> a variable they can modify.
It's our long-standing policy to break them and shed no tears.
Seriously, we can't let ourselves be blocked from changing internals
that random third-party extensions have or may have latched onto. There
are intentionally no limits on what an extension can touch, wrap, or
replace and that's actually what makes many extensions possible. And if
that means we can't change anything for fear of breaking someone else's
extension, it means development on the core stops. So since the
beginning, I've said the price of having absolutely free reign in
extensions is (a) you're a GPL derived work and (b) you're responsible
for keeping up with our changes.
(And in this particular case, I strongly suspect these extensions are
actually second-party.)
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial-devel
mailing list