Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Add future lib and port src/base #6067
Implements stage 2 of porting plan, which is adding the future library.
Also ports the
At this stage, we aren't testing things yet with the Python 3 interpreter, even though technically it's Python 3 code. The goal for now is to make sure things still work on Python 2.
FYI - how the backports work
These added names all correspond exactly to Python 3 code. When running Python 3, it will simply use the native Python 3 version. When using Python 2, it will use the library implementation, which is semantically equivalent to Python 3.
FYI - using old
referenced this pull request
Jul 5, 2018
How do you prefer I proceed with future porting pull requests? @jsirois and I worked out some good practices for what should and should not be included in these PRs, but we need to decide how big we want them to be.
Should I submit a module at a time, or all at once, or something else?
=John on breaking the improvements as distinct from py3-required changes.
A benefit to doing that is that it makes the more procedural commits easier to review.
I think that testing in a single module makes sense for a first pass. Personally, I might try doing the entire codebase locally, and think about breaking out and landing required logic changes, then landing the remainder as a blob.
Module at a time would definitely be preferable to doing the whole repository at once. If this were something like a simple style change, that would be one thing. But it seems quite likely that there will be actual bugs caused/uncovered by this, and smaller PRs will make bisecting feasible.
Keeping behaviour changes isolated into separate PRs would be ideal. Thanks!