Pārlūkot izejas kodu

Fix latest version resolution when using `python-` prefix (#3056)

Fixes use of version specifiers like `python-3.12`, which:
- have an explicit `python-` prefix
- are using a major version alias that has to be resolved
  to an exact version.

Also simplified the conditional for the already
working case, since it had two branches that were virtually identical.
pull/2749/merge
Ed Morley pirms 1 nedēļas
revīziju iesūtīja GitHub
vecāks
revīzija
d60d1c5cdc
Šim parakstam datu bāzē netika atrasta zināma atslēga GPG atslēgas ID: B5690EEEBB952194
2 mainītis faili ar 12 papildinājumiem un 5 dzēšanām
  1. +5
    -5
      libexec/pyenv-version-name
  2. +7
    -0
      test/version-name.bats

+ 5
- 5
libexec/pyenv-version-name Parādīt failu

@ -30,11 +30,11 @@ OLDIFS="$IFS"
{ IFS=:
any_not_installed=0
for version in ${PYENV_VERSION}; do
if version_exists "$version" || [ "$version" = "system" ]; then
versions=("${versions[@]}" "${version}")
elif version_exists "${version#python-}"; then
versions=("${versions[@]}" "${version#python-}")
elif resolved_version="$(pyenv-latest -b "$version")"; then
# Remove the explicit 'python-' prefix from versions like 'python-3.12'.
normalised_version="${version#python-}"
if version_exists "${normalised_version}" || [ "$version" = "system" ]; then
versions=("${versions[@]}" "${normalised_version}")
elif resolved_version="$(pyenv-latest -b "${normalised_version}")"; then
versions=("${versions[@]}" "${resolved_version}")
else
echo "pyenv: version \`$version' is not installed (set by $(pyenv-version-origin))" >&2

+ 7
- 0
test/version-name.bats Parādīt failu

@ -120,3 +120,10 @@ OUT
assert_success
assert_output "2.7.11"
}
@test "pyenv-latest fallback with prefix in name" {
create_version "3.12.6"
PYENV_VERSION="python-3.12" run pyenv-version-name
assert_success
assert_output "3.12.6"
}

Notiek ielāde…
Atcelt
Saglabāt