Some thoughts about Mercurial bookmarks
Augie Fackler
raf at durin42.com
Wed May 13 01:13:25 UTC 2015
> On May 12, 2015, at 19:15, Jensen, Aaron <ajensen at webmd.net> wrote:
>
> Speaking of backwards compatibility, I'd again like to encourage Mercurial to adopt [Semantic Versioning](http://semver.org/):
>
>> Given a version number MAJOR.MINOR.PATCH, increment the:
>>
>> 1. MAJOR version when you make incompatible API changes,
>> 2. MINOR version when you add functionality in a backwards-compatible manner, and
>> 3. PATCH version when you make backwards-compatible bug fixes.
>
> As someone who manages software upgrades, it is really nice to know, without reading release notes, how safe a new version of software is to upgrade by comparing the version I'm at with the version I want to upgrade to.
So here's the deal with hg's versioning:
1) We never break backwards compatibility.
2) There is no number 2.
Okay, that's a little bit of a lie. But basically barring something being a bug, behavior never changes, and behavioral changes ONLY happen in the name of fixing _actively harmful_ behavior (that is, a "bug"). We've done this few enough times I think I can count it on the fingers on one hand.
Basically, you should ALWAYS be able to upgrade hg and it should cause zero breakage. If it breaks you, that's a bug you should be filing at http://bz.selenic.com.
So semantic versioning would be basically pointless for us. :)
More information about the Mercurial
mailing list