On Mercurial API
Matt Mackall
mpm at selenic.com
Tue Jul 31 10:57:42 CDT 2007
On Mon, Jul 30, 2007 at 09:59:34PM -0700, Dustin Sallings wrote:
>
> On Jul 30, 2007, at 20:18, Mark A. Flacy wrote:
>
> > OK, I'll bite: Why are you supporting obsolete versions of Mercurial?
>
> 0.9.4 isn't that old, and last I checked, 0.9.3 was still the
> version ubuntu gives me.
>
> I think the concern isn't so much how difficult it is to maintain
> backwards compatibility, it's that the last three minor versions have
> each moved this command.
The API will continue to move until it's converged on something good.
It's more important that we have a good API than a stable one.
As an example of this, recently I changed _all_ the lock handling.
There was a subtle issue involving exceptions that meant our locks
could get messed up in some situations. In the course of doing this, I
removed all the passing of locks between functions, thus simplifying
dozens of functions and shortening dozens of argument lists. If we had
a stable API, I wouldn't have been able to do this.
Further, given that I've done most of the API breaking in question,
and each time fixed up all the in-tree extensions when doing so with a
couple minutes' work, I think the pain of said breakage is being a
little overstated.
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list