Udržiavateľ systému správy verzií zhrnul práce na preklade projektu z Pythonu 2 na Python 3. Napriek tomu, že prvé pokusy o portovanie boli vykonané už v roku 2008 a v urýchlenom režime sa adaptácia na Python 3 začala v roku 2015, plná možnosť používania Python 3 bola implementovaná až v poslednej verzii Mercurial 5.2.
Predpoklady o stabilite portovania na Python 3 sú nepriaznivé. Predpokladá sa najmä, že počas niekoľkých rokov sa v kóde objavia sporadické chyby, keďže testy nezahŕňajú 100% kódovej základne a mnohé problémy ostávajú neviditeľné pri statickej analýze a objavia sa až počas behu aplikácie. Okrem toho zostávajú mnohé externé doplnky a rozšírenia nepremenené na Python 3.
Keďže pri portovaní bolo rozhodnuté postupne prispôsobiť kód pre Python 3, pričom sa zachovávala podpora Python 2, kód sa zaplnil množstvom hackov na prepojenie Pythonu 2 a 3, ktoré po ukončení podpory Python 2 bude nevyhnutné vyčistiť.
K situácii okolo Pythonu 3 udržiavateľ Mercurial uviedol, že rozhodnutie o posunutí nekompatibilného Pythonu 3 a jeho presadenie ako nového, správneho jazyka bez aktuálnych prielomových vylepšení bola veľká chyba, ktorá spôsobila značné škody komunite a je príkladom toho, ako by veľké projekty nemali konať. Namiesto postupného zvyšovania funkčnosti a poskytnutia možnosti inkrementálnej adaptácie aplikácií boli po vydaní Pythonu 3 nútení vývojári prekódovať a vynaložiť prostriedky na udržovanie oddelených vetiev pre Python 2 a Python 3. Až sedem rokov po vydaní Pythonu 3.0 boli v Python 3.5 implementované funkcie, ktoré uľahčovali proces prechodu a zabezpečili fungovanie jednej kódovej základne s Pythonom 2 a Pythonom 3.
Zdroj: opennet.ru
