Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
后端镜像
Pdm
提交
b8d77b35
P
Pdm
项目概览
后端镜像
/
Pdm
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Pdm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
b8d77b35
编写于
7月 26, 2022
作者:
F
Frost Ming
提交者:
GitHub
7月 26, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: Try the read the lock file even if the version is incompatible (#1278)
上级
b89e2bed
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
21 addition
and
16 deletion
+21
-16
news/1273.bugfix.md
news/1273.bugfix.md
+1
-0
pdm/cli/actions.py
pdm/cli/actions.py
+1
-1
pdm/models/environment.py
pdm/models/environment.py
+2
-2
pdm/models/repositories.py
pdm/models/repositories.py
+2
-2
pdm/models/versions.py
pdm/models/versions.py
+1
-1
pdm/project/core.py
pdm/project/core.py
+14
-10
未找到文件。
news/1273.bugfix.md
0 → 100644
浏览文件 @
b8d77b35
Try to read the lock file even if the lock version is incompatible.
pdm/cli/actions.py
浏览文件 @
b8d77b35
...
...
@@ -165,7 +165,7 @@ def check_lockfile(project: Project, raise_not_exist: bool = True) -> str | None
style
=
"yellow"
,
err
=
True
,
)
return
"
all"
return
"
reuse"
# try to reuse the lockfile if possible
elif
not
project
.
is_lockfile_hash_match
():
project
.
core
.
ui
.
echo
(
"Lock file hash doesn't match pyproject.toml, packages may be outdated"
,
...
...
pdm/models/environment.py
浏览文件 @
b8d77b35
...
...
@@ -208,8 +208,8 @@ class Environment:
downloaded
=
finder
.
download_and_unpack
(
best_match
.
link
,
dirname
,
dirname
)
except
unearth
.
UnpackError
:
raise
download_error
except
unearth
.
UnpackError
as
e
:
raise
download_error
from
e
shutil
.
move
(
str
(
downloaded
),
path
)
@
cached_property
...
...
pdm/models/repositories.py
浏览文件 @
b8d77b35
...
...
@@ -208,7 +208,7 @@ class BaseRepository:
try
:
result
=
self
.
_candidate_info_cache
.
get
(
candidate
)
except
KeyError
:
raise
CandidateInfoNotFound
(
candidate
)
raise
CandidateInfoNotFound
(
candidate
)
from
None
return
result
@
cache_result
...
...
@@ -399,7 +399,7 @@ class LockedRepository(BaseRepository):
for
key
,
hashes
in
lockfile
.
get
(
"metadata"
,
{}).
get
(
"files"
,
{}).
items
():
self
.
file_hashes
[
tuple
(
key
.
split
(
None
,
1
))]
=
{
# type: ignore
Link
(
item
[
"url"
]):
item
[
"hash"
]
for
item
in
hashes
Link
(
item
[
"url"
]):
item
[
"hash"
]
for
item
in
hashes
if
"url"
in
item
}
def
_identify_candidate
(
self
,
candidate
:
Candidate
)
->
tuple
:
...
...
pdm/models/versions.py
浏览文件 @
b8d77b35
...
...
@@ -49,7 +49,7 @@ class Version:
raise
InvalidPyVersion
(
f
"
{
version_str
}
: postreleases are not supported "
"for python version specifiers."
)
)
from
None
version
=
tuple
(
bits
)
self
.
_version
:
Tuple
[
VersionBit
,
...]
=
version
...
...
pdm/project/core.py
浏览文件 @
b8d77b35
...
...
@@ -452,17 +452,21 @@ class Project:
normalize_name
(
k
):
v
for
k
,
v
in
self
.
tool_settings
.
get
(
"overrides"
,
{}).
items
()
}
if
strategy
!=
"all"
and
not
self
.
is_lockfile_compatible
():
self
.
core
.
ui
.
echo
(
"Updating the whole lock file as it is not compatible with PDM"
,
style
=
"yellow"
,
err
=
True
,
)
strategy
=
"all"
if
not
for_install
and
strategy
==
"all"
:
return
BaseProvider
(
repository
,
allow_prereleases
,
overrides
)
locked_repository
:
LockedRepository
|
None
=
None
if
strategy
!=
"all"
or
for_install
:
try
:
locked_repository
=
self
.
locked_repository
except
Exception
:
if
for_install
:
raise
self
.
core
.
ui
.
echo
(
"Unable to reuse the lock file as it is not compatible with PDM"
,
style
=
"yellow"
,
err
=
True
,
)
locked_repository
=
self
.
locked_repository
if
locked_repository
is
None
:
return
BaseProvider
(
repository
,
allow_prereleases
,
overrides
)
if
for_install
:
return
BaseProvider
(
locked_repository
,
allow_prereleases
,
overrides
)
provider_class
=
(
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录