uv/crates/uv-resolver/src
Charlie Marsh faf16c1349
Allow local version mismatches when validating lockfile (#12285)
## Summary

Closes https://github.com/astral-sh/uv/issues/12282.

## Test Plan

Given:

```toml
[project]
name = "foo"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13.0"
dependencies = ["flash-attn"]

[tool.uv]
environments = ["sys_platform == 'darwin'", "sys_platform == 'linux'"]
constraint-dependencies = ["torch==2.5.1"]

[tool.uv.sources]
flash_attn = [
  { url = "https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.3/flash_attn-2.7.3+cu12torch2.5cxx11abiFalse-cp310-cp310-linux_x86_64.whl", marker = "sys_platform == 'linux' and python_version == '3.10'"},
  { url = "https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.3/flash_attn-2.7.3+cu12torch2.5cxx11abiFalse-cp311-cp311-linux_x86_64.whl", marker = "sys_platform == 'linux' and python_version == '3.11'"},
  { url = "https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.3/flash_attn-2.7.3+cu12torch2.5cxx11abiFalse-cp312-cp312-linux_x86_64.whl", marker = "sys_platform == 'linux' and python_version == '3.12'"},
  { url = "https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.3/flash_attn-2.7.3+cu12torch2.5cxx11abiFalse-cp313-cp313-linux_x86_64.whl", marker = "sys_platform == 'linux' and python_version == '3.13'"}
]
```

Ran `uv lock` on `v0.6.5`. Then verified that `uv lock` fails on
`v0.6.6` on the same lockfile, but this commit succeeds.
2025-03-18 15:12:40 +00:00
..
lock Allow local version mismatches when validating lockfile (#12285) 2025-03-18 15:12:40 +00:00
pubgrub Avoid subsequent index hint when no versions are available on the first index (#9332) 2025-03-14 01:09:08 +00:00
resolution Always store registry index on resolution packages (#11815) 2025-02-27 02:46:37 +00:00
resolver Insert dependencies into fork state prior to fetching metadata (#12057) 2025-03-07 14:45:46 -05:00
candidate_selector.rs Prefer local variants in preference selection (#11546) 2025-02-15 20:35:47 -05:00
dependency_mode.rs Store resolution options in lockfile (#5264) 2024-07-22 08:28:22 -04:00
dependency_provider.rs All (virtual) packages must have a priority (#10853) 2025-01-23 16:09:47 +00:00
error.rs Move `LowerBound` and `UpperBound` structs in `uv-pep440` (#11950) 2025-03-04 12:35:16 -05:00
exclude_newer.rs Edition 2024 prep: Escape `r#gen` and remove redundant ref (#11922) 2025-03-03 11:13:56 +00:00
exclusions.rs Always reinstall local source trees passed to `uv pip install` (#12176) 2025-03-17 21:12:21 +00:00
flat_index.rs Use boxed slices for hash vector (#11714) 2025-02-24 11:11:44 -06:00
fork_indexes.rs uv: use ResolverEnvironment instead of ResolverMarkers 2024-11-04 11:09:06 -05:00
fork_strategy.rs Introduce a `--fork-strategy` preference mode (#9868) 2024-12-13 16:05:07 -05:00
fork_urls.rs uv: use ResolverEnvironment instead of ResolverMarkers 2024-11-04 11:09:06 -05:00
graph_ops.rs Support conflict markers in `uv export` (#11643) 2025-02-20 12:19:46 -08:00
lib.rs Use Hashbrown's raw entry API to reduce hashes and clone in priority (#10881) 2025-01-23 09:34:37 -05:00
manifest.rs Replace `Option<BTreeSet>` with `BTreeSet` for members (#10150) 2024-12-25 00:37:46 +00:00
marker.rs Move `LowerBound` and `UpperBound` structs in `uv-pep440` (#11950) 2025-03-04 12:35:16 -05:00
options.rs Allow users to mark platforms as "required" for wheel coverage (#10067) 2025-02-14 15:11:18 -05:00
pins.rs Improve file pinning comments (#10387) 2025-01-08 11:42:25 +00:00
preferences.rs Use boxed slices for hash vector (#11714) 2025-02-24 11:11:44 -06:00
prerelease.rs do not imply pre-release when `!=` operator is used (#7974) 2024-11-07 14:29:54 -06:00
python_requirement.rs Avoid returning `Some` for narrowing no-ops (#10705) 2025-01-17 16:41:17 +00:00
redirect.rs Use a stable directory for (local) script virtual environments (#11347) 2025-02-12 00:45:26 +00:00
requires_python.rs Move `LowerBound` and `UpperBound` structs in `uv-pep440` (#11950) 2025-03-04 12:35:16 -05:00
resolution_mode.rs Respect fork markers in `--resolution-mode=lowest-direct` (#8839) 2024-11-05 21:09:38 +00:00
universal_marker.rs Avoid using owned `String` for package name constructors (#11768) 2025-02-24 23:06:15 -08:00
version_map.rs Always store registry index on resolution packages (#11815) 2025-02-27 02:46:37 +00:00
yanks.rs Upgrade Rust toolchain to 1.84.0 (#10533) 2025-01-11 22:19:33 -05:00