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

Re: [PATCH 00/13] git-p4: python3 compatibility

From
Ben Keene <seraphire@gmail.com>
Date
Dec 10, 2019, 14:20 UTC
Message-ID
<caa4b235-8ec8-0b6f-49e5-3c95e3a5f5e3@gmail.com>
In-Reply-To
<nycvar.QRO.7.76.6.1912092043470.31080@tvgsbejvaqbjf.bet>
On 12/9/2019 2:48 PM, Johannes Schindelin wrote:
Show 9 quoted lines
> Hi Ben,
>
> On Mon, 9 Dec 2019, Ben Keene wrote:
>
>> So, I just attempted to run a base case on windows: git p4 clone //depot and
>> I'm getting an error:
>>
>> Depot paths must start with "//": /depot
> You started this in a Bash, right?

No, I started it from a windows command cmd.exe prompt.  (I almost never use the bash prompt)

Show 12 quoted lines
>
> The Git Bash has the very specific problem that many of Git's shell
> scripts assume that forward slashes are directory separators, not
> backslashes, and that absolute paths start with a single forward slash. In
> other words, they expect Unix paths.
>
> But we're on Windows! So the MSYS2 runtime (which is the POSIX emulation
> layer derived from Cygwin which allows us to build and run Bash on
> Windows) "translates" between the paths. For example, if you pass `/depot`
> as a parameter to a Git command, the MSYS2 runtime notices that `git.exe`
> is not an MSYS2 program (i.e. it does not understand pseudo-Unix paths),
> and translates the path to `C:/Program Files/Git/depot`.
That is good to know!
Show 5 quoted lines
>
> However, your call has _two_ slashes, right? That is unfortunately MSYS2's
> trick to say "oh BTW keep the slash, this is not a Unix path".
>
> To avoid this, just set `MSYS_NO_PATHCONV`, like so:

When I first installed git, I didn't read the release notes. (Shame on me!) and I installed python for windows and added an alias for git-p4.py against the windows version of python, so when I run git, it's not performing that conversion.

Show 7 quoted lines
> 	MSYS_NO_PATHCONV=1 git p4 clone //depot
>
> This behavior is documented in our release notes, by the way:
> https://github.com/git-for-windows/build-extra/blob/master/ReleaseNotes.md#known-issues
>
> Ciao,
> Johannes

I'm starting to run out of time at work, so I'll be slow to try and repro this.

Thanks for the info!
- Ben
Previous: Johannes SchindelinNext: Yang Zhao
Message 30 of 33 in “git-p4: python3 compatibility”
  1. 00/13 git-p4: python3 compatibilityYang Zhao, Dec 7, 2019
  2. 01/13 ci: also run linux-gcc pipeline with python-3.7 environmentYang Zhao, Dec 7, 2019
  3. SZEDER GáborDec 10, 2019
  4. Yang ZhaoDec 10, 2019
  5. SZEDER GáborDec 12, 2019
  6. Yang ZhaoDec 12, 2019
  7. SZEDER GáborDec 12, 2019
  8. Yang ZhaoDec 12, 2019
  9. 02/13 git-p4: make python-2.7 the oldest supported versionYang Zhao, Dec 7, 2019
  10. 03/13 git-p4: simplify python version detectionYang Zhao, Dec 7, 2019
  11. 04/13 git-p4: decode response from p4 to str for python3Yang Zhao, Dec 7, 2019
  12. 05/13 git-p4: properly encode/decode communication with git for python 3Yang Zhao, Dec 7, 2019
  13. 06/13 git-p4: open .gitp4-usercache.txt in text modeYang Zhao, Dec 7, 2019
  14. 06/13 git-p4: convert path to unicode before processing themYang Zhao, Dec 7, 2019
  15. 07/13 git-p4: convert path to unicode before processing themYang Zhao, Dec 7, 2019
  16. 07/13 git-p4: open .gitp4-usercache.txt in text modeYang Zhao, Dec 7, 2019
  17. 09/13 git-p4: fix freezing while waiting for fast-import progressYang Zhao, Dec 7, 2019
  18. 08/13 git-p4: use marshal format version 2 when sending to p4Yang Zhao, Dec 7, 2019
  19. 10/13 git-p4: use functools.reduce instead of reduceYang Zhao, Dec 7, 2019
  20. 11/13 git-p4: use dict.items() iteration for python3 compatibilityYang Zhao, Dec 7, 2019
  21. 13/13 git-p4: use python3's input() everywhereYang Zhao, Dec 7, 2019
  22. 12/13 git-p4: simplify regex pattern generation for parsing diff-treeYang Zhao, Dec 7, 2019
  23. Denton LiuDec 7, 2019
  24. Yang ZhaoDec 7, 2019
  25. Ben KeeneDec 7, 2019
  26. Yang ZhaoDec 7, 2019
  27. Ben KeeneDec 9, 2019
  28. Ben KeeneDec 9, 2019
  29. Johannes SchindelinDec 9, 2019
  30. Ben KeeneDec 10, 2019
  31. Yang ZhaoDec 9, 2019
  32. Ben KeeneDec 13, 2019
  33. Yang ZhaoDec 7, 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.