uv/crates/uv-resolver/src
chisato accfb48876
Fix `uv sync --no-sources` not switching from editable to registry installations (#15234)
## Summary

Fixes issue #15190 where `uv sync --no-sources` fails to switch from
editable to registry package installations. The problem occurred because
the installer's satisfaction check didn't consider the `--no-sources`
flag when determining if an existing editable installation was
compatible with a registry requirement.

## Solution

Modified `RequirementSatisfaction::check()` to reject non-registry
installations when `SourceStrategy::Disabled` and the requirement is
from registry. Added `SourceStrategy` parameter threading through the
entire call chain from commands to the satisfaction check to ensure
consistent behavior between `uv sync --no-sources` and `uv pip install
--no-sources`.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-09-17 06:35:32 -05:00
..
lock Avoid re-parsing `pyproject.toml` when provided as a source (#15851) 2025-09-15 10:07:38 -04:00
pubgrub Add error trace to invalid package format (#15626) 2025-09-02 15:22:42 +02:00
resolution Rename `provides_extras` to `provides_extra` (#15825) 2025-09-14 13:27:45 +00:00
resolver Fix `uv sync --no-sources` not switching from editable to registry installations (#15234) 2025-09-17 06:35:32 -05:00
candidate_selector.rs Fix `uv sync --no-sources` not switching from editable to registry installations (#15234) 2025-09-17 06:35:32 -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 Rename `Dev` to `Group` internally (#15557) 2025-08-27 18:35:43 +00:00
exclude_newer.rs Add `exclude-newer-package` (#14489) 2025-07-29 17:00:25 -05:00
exclusions.rs Import `PackageName` from `uv-normalize` (#15439) 2025-08-21 23:15:40 +00:00
flat_index.rs Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
fork_indexes.rs Use parsed URLs for conflicting URL error message (#14380) 2025-07-01 08:18:01 -04:00
fork_strategy.rs Introduce a `--fork-strategy` preference mode (#9868) 2024-12-13 16:05:07 -05:00
fork_urls.rs Use parsed URLs for conflicting URL error message (#14380) 2025-07-01 08:18:01 -04:00
graph_ops.rs Add support for `package`-level conflicts in workspaces (#14906) 2025-08-08 07:44:58 -05:00
lib.rs Add `exclude-newer-package` (#14489) 2025-07-29 17:00:25 -05:00
manifest.rs Move lowered requirement source type out of `uv-pypi-types` (#12356) 2025-03-20 21:16:12 -04:00
marker.rs Introduce a generic type for list operations (#14792) 2025-07-21 18:21:46 +02:00
options.rs Add `exclude-newer-package` (#14489) 2025-07-29 17:00:25 -05:00
pins.rs Improve file pinning comments (#10387) 2025-01-08 11:42:25 +00:00
preferences.rs Cache `WHEEL` and `METADATA` reads in installed distributions (#15489) 2025-08-25 13:40:20 +00:00
prerelease.rs Make the use of `Self` consistent. (#15074) 2025-08-05 20:17:12 +01:00
python_requirement.rs Add `[tool.uv.dependency-groups].mygroup.requires-python` (#13735) 2025-06-13 22:04:13 +00:00
redirect.rs Add `DisplaySafeUrl` newtype to prevent leaking of credentials by default (#13560) 2025-05-27 00:05:30 +02:00
resolution_mode.rs Respect fork markers in `--resolution-mode=lowest-direct` (#8839) 2024-11-05 21:09:38 +00:00
universal_marker.rs Add support for `package`-level conflicts in workspaces (#14906) 2025-08-08 07:44:58 -05:00
version_map.rs Allow registries to pre-provide core metadata (#15644) 2025-09-03 00:56:29 +00:00
yanks.rs Move lowered requirement source type out of `uv-pypi-types` (#12356) 2025-03-20 21:16:12 -04:00