Szorc: Mercurial's Journey to and Reflections on Python 3
Here is alongish blog entry from Mercurial maintainer Gregory Szorc on thepainful process of converting Mercurial to Python 3. "Ianticipate a long tail of random bugs in Mercurial on Python 3. While thetests may pass, our code coverage is not 100%. And even if it were, Pythonis a dynamic language and there are tons of invariants that aren't caughtat compile time and can only be discovered at run time. These invariantscannot all be detected by tests, no matter how good your test coverageis. This is a feature/limitation of dynamic languages. Our users willlikely be finding a long tail of miscellaneous bugs on Python 3 foryears."