Which mercurial versions are worth testing against
Marcin Kasperski
Marcin.Kasperski at mekk.waw.pl
Mon Jan 9 08:21:00 UTC 2017
Funny thing: I asked that question more than year ago, then it
accidentally remained in some Gnus output queue which I flushed
yesterday ;-)
I made my decisions since then: for most of my extensions (¹),
I currently test Mercurials 2.7, 2.9, 3.0, 3.3, 3.6, 3.8 and 4.0
(adding newer releases once I spot them). My reasons:
- 2.9 is still widely used in my org (for some time it was newest
mercurial cvs2hg supported, I finally fixed cvs2hg but it's not that
easy to upgrade everything which was frozen for a time…)
- 2.7 remained as oldest version I had no compat problems with
(having supported 2.9, I tried moving back out of pure curiosity,
2.7 worked, 2.6 caused some problems I don't remember)
- 3.0, 3.3, 3.6, 3.8 were picked semi-randomly to cover a few
steps between old and current (well, 3.8 messed some things IIRC)
Regarding compatibility: leaving apart deep internals (which I face in
mercurial_keyring and cvs2hg), for „normal extensions” the main
compatibility problem was related to cmdutil.command (and the way one
should use to declare that command is norepo/optionalrepo). 3.1
introduced args for that, 3.8 dropped commands.norepo constant etc. I
ended up writing my own wrapper (²)
¹: http://mekk.bitbucket.org/mercurial.html
²: https://bitbucket.org/Mekk/mercurial-extension_utils/src/c475c4635e13a9842230699b347ae4c70635a7a8/mercurial_extension_utils.py?at=default&fileviewer=file-view-default#mercurial_extension_utils.py-866
PS A few months ago I stopped testing with python 2.6. Things worked
until then.
More information about the Mercurial
mailing list