diff options
author | Julien <julien@caffeine.lu> | 2024-10-19 17:34:41 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-19 17:34:41 (GMT) |
commit | 2a378dba987e125521b678364f0cd44b92dd5d52 (patch) | |
tree | 34e6429d7c15d79b902860c5459d7bca87b4d049 | |
parent | 4b421e8aca7f2dccc5ac8604b78589941dd7974c (diff) | |
download | cpython-2a378dba987e125521b678364f0cd44b92dd5d52.zip cpython-2a378dba987e125521b678364f0cd44b92dd5d52.tar.gz cpython-2a378dba987e125521b678364f0cd44b92dd5d52.tar.bz2 |
gh-125398: Convert paths in venv activate script when using Git Bash under Windows (GH-125399)
* Convert paths in venv activate script when using Git Bash under Windows
With https://github.com/python/cpython/pull/112508 the check to converts paths when running on Windows was changed from using the non-posix environment variable `$OSTYPE` to using `uname` instead.
However this missed the fact that when running under Git Bash on Windows, uname reports `MINGW*` (`$OSTYPE` is still `msys`).
This results in `$PATH` being set to something like `D:\a\github-actions-shells\github-actions-shells\venv/Scripts:…`, instead of `/d/a/github-actions-shells/github-actions-shells/venv/Scripts`.
Notably, the Git Bash is the bash shell that’s used for GitHub Actions Windows runners, and ships with VSCode.
-rw-r--r-- | Lib/venv/scripts/common/activate | 4 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2024-10-13-15-04-58.gh-issue-125398.UW7Ndv.rst | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/Lib/venv/scripts/common/activate b/Lib/venv/scripts/common/activate index 4593799..44f1376 100644 --- a/Lib/venv/scripts/common/activate +++ b/Lib/venv/scripts/common/activate @@ -38,8 +38,8 @@ deactivate nondestructive # on Windows, a path can contain colons and backslashes and has to be converted: case "$(uname)" in - CYGWIN*|MSYS*) - # transform D:\path\to\venv to /d/path/to/venv on MSYS + CYGWIN*|MSYS*|MINGW*) + # transform D:\path\to\venv to /d/path/to/venv on MSYS and MINGW # and to /cygdrive/d/path/to/venv on Cygwin VIRTUAL_ENV=$(cygpath "__VENV_DIR__") export VIRTUAL_ENV diff --git a/Misc/NEWS.d/next/Library/2024-10-13-15-04-58.gh-issue-125398.UW7Ndv.rst b/Misc/NEWS.d/next/Library/2024-10-13-15-04-58.gh-issue-125398.UW7Ndv.rst new file mode 100644 index 0000000..a188b35 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2024-10-13-15-04-58.gh-issue-125398.UW7Ndv.rst @@ -0,0 +1 @@ +Fix the conversion of the :envvar:`!VIRTUAL_ENV` path in the activate script in :mod:`venv` when running in Git Bash for Windows. |