This patchset adds python3 compatibility to git-p4. While some clean-up refactoring would have been nice, I specifically avoided making any major changes to the internal API, aiming to have passing tests with as few changes as possible. CI results can be seen from this GitHub PR: https://github.com/git/git/pull/673 (As of writing, the CI pipelines are intermittently failing due to reasons that appear unrelated to code. I do have python3 tests passing locally on a Gentoo host.) Yang Zhao (13): ci: also run linux-gcc pipeline with python-3.7 environment git-p4: make python-2.7 the oldest supported version git-p4: simplify python version detection git-p4: decode response from p4 to str for python3 git-p4: properly encode/decode communication with git for python 3 git-p4: convert path to unicode before processing them git-p4: open .gitp4-usercache.txt in text mode git-p4: use marshal format version 2 when sending to p4 git-p4: fix freezing while waiting for fast-import progress git-p4: use functools.reduce instead of reduce git-p4: use dict.items() iteration for python3 compatibility git-p4: simplify regex pattern generation for parsing diff-tree git-p4: use python3's input() everywhere azure-pipelines.yml | 11 +++ git-p4.py | 195 ++++++++++++++++++++++++++++---------------- 2 files changed, 136 insertions(+), 70 deletions(-) -- 2.21.0.windows.1