git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 00/14] git-p4: python3 compatibility

From
Yang Zhao <yang.zhao@skyboxlabs.com>
Date
Dec 13, 2019, 23:52 UTC
Message-ID
<20191213235247.23660-2-yang.zhao@skyboxlabs.com>
In-Reply-To
<20191213235247.23660-1-yang.zhao@skyboxlabs.com>
This patchset adds python3 compatibility to git-p4.

While further 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
Changes since v1:
  - incorporate Ben's change on dropping usage of basestring
  - don't alias string types based on python verson
  - use feature detection instead of version checking to detect python3
  - CI patch now at end of series; needs further discussion
  - some general clean-up to commit messages
Ben Keene (1):
  git-p4: change the expansion test from basestring to list
Yang Zhao (13):
  git-p4: make python2.7 the oldest supported version
  git-p4: remove string type aliasing
  git-p4: encode/decode communication with p4 for python3
  git-p4: encode/decode communication with git for python 4
  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
  ci: also run linux-gcc pipeline with python3.5 environment
 azure-pipelines.yml |  11 ++
 git-p4.py           | 237 ++++++++++++++++++++++++++------------------
 2 files changed, 152 insertions(+), 96 deletions(-)
-- 
2.21.0.windows.1
Next: Yang Zhao
Message 1 of 22 in “git-p4: python3 compatibility”
  1. 00/14 git-p4: python3 compatibilityYang Zhao, Dec 13, 2019
  2. Yang ZhaoJan 17, 2020
  3. Luke DiamandJan 24, 2020
  4. Luke DiamandJan 30, 2020
  5. Luke DiamandFeb 3, 2020
  6. Yang ZhaoFeb 3, 2020
  7. Yang ZhaoFeb 4, 2020
  8. 01/14 git-p4: make python2.7 the oldest supported versionYang Zhao, Dec 13, 2019
  9. 02/14 git-p4: change the expansion test from basestring to listYang Zhao, Dec 13, 2019
  10. 05/14 git-p4: encode/decode communication with git for python3Yang Zhao, Dec 13, 2019
  11. 03/14 git-p4: remove string type aliasingYang Zhao, Dec 13, 2019
  12. 04/14 git-p4: encode/decode communication with p4 for python3Yang Zhao, Dec 13, 2019
  13. Junio C HamanoDec 17, 2019
  14. 08/14 git-p4: use marshal format version 2 when sending to p4Yang Zhao, Dec 13, 2019
  15. 07/14 git-p4: open .gitp4-usercache.txt in text modeYang Zhao, Dec 13, 2019
  16. 06/14 git-p4: convert path to unicode before processing themYang Zhao, Dec 13, 2019
  17. 09/14 git-p4: fix freezing while waiting for fast-import progressYang Zhao, Dec 13, 2019
  18. 10/14 git-p4: use functools.reduce instead of reduceYang Zhao, Dec 13, 2019
  19. 12/14 git-p4: simplify regex pattern generation for parsing diff-treeYang Zhao, Dec 13, 2019
  20. 11/14 git-p4: use dict.items() iteration for python3 compatibilityYang Zhao, Dec 13, 2019
  21. 14/14 ci: also run linux-gcc pipeline with python3.5 environmentYang Zhao, Dec 13, 2019
  22. 13/14 git-p4: use python3's input() everywhereYang Zhao, Dec 13, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.