The master branch is dead. Add banners to all the docs in case people try referring to these and don't realize they're on the wrong branch. Change-Id: I3488d0d96df25fafd7285848fe9f519b4205519c Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/400918 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
2.0 KiB
Supported Python Versions
Warning: The "master" branch is no longer used. Use "main" instead.
https://gerrit.googlesource.com/git-repo/+/HEAD/docs/python-support.md
With Python 2.7 officially going EOL on 01 Jan 2020, we need a support plan for the repo project itself. Inevitably, there will be a long tail of users who still want to use Python 2 on their old LTS/corp systems and have little power to change the system.
Summary
- Python 3.6 (released Dec 2016) is required by default starting with repo-2.x.
- Older versions of Python (e.g. v2.7) may use the legacy feature-frozen branch based on repo-1.x.
Overview
We provide a branch for Python 2 users that is feature-frozen. Bugfixes may be added on a best-effort basis or from the community, but largely no new features will be added, nor is support guaranteed.
Users can select this during repo init
time via the repo launcher.
Otherwise the default branches (e.g. stable & master) will be used which will
require Python 3.
This means the repo launcher needs to support both Python 2 & Python 3, but since it doesn't import any other repo code, this shouldn't be too problematic.
The master branch will require Python 3.6 at a minimum. If the system has an older version of Python 3, then users will have to select the legacy Python 2 branch instead.
repo hooks
Projects that use repo hooks run on independent schedules. They might migrate to Python 3 earlier or later than us. To support them, we'll probe the shebang of the hook script and if we find an interpreter in there that indicates a different version than repo is currently running under, we'll attempt to reexec ourselves under that.
For example, a hook with a header like #!/usr/bin/python2
will have repo
execute /usr/bin/python2
to execute the hook code specifically if repo is
currently running Python 3.
For more details, consult the repo hooks documentation.