mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
Merge pull request #2766 from dstufft/better-version-check
Only warn on final releases with different base versions
This commit is contained in:
commit
695e6925d7
|
@ -7,7 +7,7 @@ import os.path
|
|||
import sys
|
||||
|
||||
from pip._vendor import lockfile
|
||||
from pip._vendor import pkg_resources
|
||||
from pip._vendor.packaging import version as packaging_version
|
||||
|
||||
from pip.compat import total_seconds
|
||||
from pip.index import PyPI
|
||||
|
@ -122,15 +122,23 @@ def pip_version_check(session):
|
|||
headers={"Accept": "application/json"},
|
||||
)
|
||||
resp.raise_for_status()
|
||||
pypi_version = resp.json()["info"]["version"]
|
||||
pypi_version = [
|
||||
v for v in sorted(
|
||||
list(resp.json()["releases"]),
|
||||
key=packaging_version.parse,
|
||||
)
|
||||
if not packaging_version.parse(v).is_prerelease
|
||||
][-1]
|
||||
|
||||
# save that we've performed a check
|
||||
state.save(pypi_version, current_time)
|
||||
|
||||
pip_version = pkg_resources.parse_version(pip.__version__)
|
||||
pip_version = packaging_version.parse(pip.__version__)
|
||||
remote_version = packaging_version.parse(pypi_version)
|
||||
|
||||
# Determine if our pypi_version is older
|
||||
if pip_version < pkg_resources.parse_version(pypi_version):
|
||||
if (pip_version < remote_version and
|
||||
pip_version.base_version != remote_version.base_version):
|
||||
logger.warning(
|
||||
"You are using pip version %s, however version %s is "
|
||||
"available.\nYou should consider upgrading via the "
|
||||
|
|
|
@ -26,7 +26,7 @@ def test_pip_version_check(monkeypatch, stored_time, newver, check, warn):
|
|||
|
||||
resp = pretend.stub(
|
||||
raise_for_status=pretend.call_recorder(lambda: None),
|
||||
json=pretend.call_recorder(lambda: {"info": {"version": newver}}),
|
||||
json=pretend.call_recorder(lambda: {"releases": {newver: {}}}),
|
||||
)
|
||||
session = pretend.stub(
|
||||
get=pretend.call_recorder(lambda u, headers=None: resp),
|
||||
|
|
Loading…
Reference in a new issue