News for hackers. Stuff that matters.
Re:Mercurial’s journey to and reflections on Python 3 by ufov2 on Monday January 13, 2020 @01:53PM (#22037366)
The approach of doing the transition slowly over many years maybe was a mistake here, and another thing making it harder seems to have been little support from the top of the project.

I ported two projects with ~200000 Python-SLOC (about the same size as Mercurial according to sloccount) back in the early 3.x days. Doing this via more or less flag-day conversions within a few months, converting the codebases first to 2to3-able subset, and as a second step later on dropping 2to3 via common dialect of Python 2/3 with six, was not very painful in the end.

Re:Mercurial’s journey to and reflections on Python 3 by sfink on Monday January 13, 2020 @03:03PM (#22038032)
Did you have a large ecosystem of third party extension modules that also had to obey the flag day?
Re:Mercurial’s journey to and reflections on Python 3 by masklinn on Monday January 13, 2020 @04:22PM (#22038757)
> I ported two projects with ~200000 Python-SLOC (about the same size as Mercurial according to sloccount) back in the early 3.x days. Doing this via more or less flag-day conversions within a few months, converting the codebases first to 2to3-able subset, and as a second step later on dropping 2to3 via common dialect of Python 2/3 with six, was not very painful in the end.

Sounds like you used the same method, just over a smaller timeframe: convert to a common 2/3 subset, then drop Python 2 at some later point.