Re: git-p4, and python2 EOL
- From
- Andrey <ahippo@yandex.ru>
- Date
- Aug 29, 2019, 04:34 UTC
- Message-ID
- <44585511567053276@sas2-3b71b6ddd4dd.qloud-c.yandex.net>
- In-Reply-To
- <CAE5ih79dF7LJSp=hUgj_r2XUmWKYnU3XgSReSjOetG8Sek599A@mail.gmail.com>
Luke,
28.08.2019, 04:49, "Luke Diamand" <luke@diamand.org>:
Show 17 quoted lines
> We're coming up on when Python2 is end-of-lifed - we have until > January 1st 2020. > > git-p4 uses python2, and doesn't work under python3 at all. > > The problem is the conversions between Python3 unicode strings and git > (utf-8) and p4 (utf-8, except when it isn't). > > I had a go at fixing this here: > > https://github.com/luked99/git/commits/git-p4-python3-final-showdown > > You can see from the comments that I wasn't really finding it straightforward. > > I think I know a bit more about the problem now, but before I start > having another go at fixing this, I wondered if anyone else had any > thoughts on this, or even better, some time to spend on this.
Please, find a few random thoughts below.
1. As far as I can see, git-p4 tried to maintain compatibility with both python2 and python3.
Since python2 is approaching it's EOL, would it make sense to drop support for it in git-p4 completely?
This would simplify the implementation and wouldn't require fancy objects like PolyStringDict.
Many projects [2] plan to drop python 2.7 support in 2020 or earlier.
There are, of course, enterprise distros (RHEL, CentOS), which will keep supporting python2 for several years more.
As far as I can see, python3 doesn't come by default with CentOS 7, which ends its support in 2024.
However, RHEL/CentOS ships its own (old) version of git, and python3.6 is available through EPEL repository.
2. Someone tried to use git-p4 with python3 and a bare repository [1] recently, unsuccessfully.
A few my stupid attempts to patch git-p4 didn't help.
3. I no longer work with git-p4 daily, neither have a real P4 repository to test on,
so I can't really test anything beyond unit tests.
I'll be glad to review any changes though.[1] https://public-inbox.org/git/34d6121da46f35e4b81d38169b1b86ca123cef37.camel@gmx.net/ [2] https://python3statement.org/
Thank you, Andrey.