Luke, 28.08.2019, 04:49, "Luke Diamand" <luke@xxxxxxxxxxx>: > 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@xxxxxxx/ [2] https://python3statement.org/ Thank you, Andrey.