mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-07 21:35:00 +00:00
Make missing METADATA
file a recoverable error (#4247)
## Summary I don't have a great way to test it, but this makes the error described in https://github.com/astral-sh/uv/issues/4246 an incompatibility rather than a fatal error. Closes https://github.com/astral-sh/uv/issues/4246.
This commit is contained in:
parent
8cfe202e4e
commit
6dae1920af
7 changed files with 67 additions and 13 deletions
|
@ -749,6 +749,11 @@ impl<InstalledPackages: InstalledPackagesProvider> ResolverState<InstalledPackag
|
|||
.insert(name.clone(), UnavailablePackage::Offline);
|
||||
return Ok(None);
|
||||
}
|
||||
MetadataResponse::MissingMetadata => {
|
||||
self.unavailable_packages
|
||||
.insert(name.clone(), UnavailablePackage::MissingMetadata);
|
||||
return Ok(None);
|
||||
}
|
||||
MetadataResponse::InvalidMetadata(err) => {
|
||||
self.unavailable_packages.insert(
|
||||
name.clone(),
|
||||
|
@ -1042,6 +1047,15 @@ impl<InstalledPackages: InstalledPackagesProvider> ResolverState<InstalledPackag
|
|||
.insert(version.clone(), IncompletePackage::Offline);
|
||||
return Ok(Dependencies::Unavailable(UnavailableVersion::Offline));
|
||||
}
|
||||
MetadataResponse::MissingMetadata => {
|
||||
self.incomplete_packages
|
||||
.entry(name.clone())
|
||||
.or_default()
|
||||
.insert(version.clone(), IncompletePackage::MissingMetadata);
|
||||
return Ok(Dependencies::Unavailable(
|
||||
UnavailableVersion::MissingMetadata,
|
||||
));
|
||||
}
|
||||
MetadataResponse::InvalidMetadata(err) => {
|
||||
warn!("Unable to extract metadata for {name}: {err}");
|
||||
self.incomplete_packages
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue