Subject: Re: What's cooking in git.git (Jan 2020, #04; Wed, 22)

From: SZEDER Gábor <[email-masked]>
Date: Thu, 23 Jan 2020 00:53:33 +0100

On Wed, Jan 22, 2020 at 02:18:05PM -0800, Junio C Hamano wrote:
> * yz/p4-py3 (2020-01-15) 14 commits
>  - ci: also run linux-gcc pipeline with python3.5 environment

I still think that this last patch needs to be reworked before this
series is merged any further.

The only Python script we have is 'git p4', so the Python version is
only relevant for 'git p4' tests ('t98*'), while the rest of Git and
the test suite couldn't care less [1].  This patch, however, not only
builds Git and runs the full test suite for each of the two Python
versions, but, worse, runs the full test suite _twice_ for each, first
as a "regular" test run and then again with all the GIT_TEST_* knobs
enabled.  Consequently, it adds ~50mins to every build's runtime.

That's just too wasteful.

[1] Well, there is 'contrib/svn-fe/svnrdump_sim.py' as well, but
    that's contrib, though it is used in 't9020-remote-svn.sh'.

>  - git-p4: use python3's input() everywhere
>  - git-p4: simplify regex pattern generation for parsing diff-tree
>  - git-p4: use dict.items() iteration for python3 compatibility
>  - git-p4: use functools.reduce instead of reduce
>  - git-p4: fix freezing while waiting for fast-import progress
>  - git-p4: use marshal format version 2 when sending to p4
>  - git-p4: open .gitp4-usercache.txt in text mode
>  - git-p4: convert path to unicode before processing them
>  - git-p4: encode/decode communication with git for python3
>  - git-p4: encode/decode communication with p4 for python3
>  - git-p4: remove string type aliasing
>  - git-p4: change the expansion test from basestring to list
>  - git-p4: make python2.7 the oldest supported version
> 
>  Update "git p4" to work with Python 3.
> 
>  Will merge to 'next'.