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