Always reinstall local source trees passed to uv pip install (#12176)

## Summary

This ended up being more involved than expected. The gist is that we
setup all the packages we want to reinstall upfront (they're passed in
on the command-line); but at that point, we don't have names for all the
packages that the user has specified. (Consider, e.g., `uv pip install
.` -- we don't have a name for `.`, so we can't add it to the list of
`Reinstall` packages.)

Now, `Reinstall` also accepts paths, so we can augment `Reinstall` based
on the user-provided paths.

Closes #12038.
This commit is contained in:
Charlie Marsh 2025-03-17 14:12:21 -07:00 committed by GitHub
parent 05352882ea
commit 72be5ffb25
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 471 additions and 214 deletions

View file

@ -874,7 +874,7 @@ impl InterpreterInfo {
// Read from the cache.
if cache
.freshness(&cache_entry, None)
.freshness(&cache_entry, None, None)
.is_ok_and(Freshness::is_fresh)
{
if let Ok(data) = fs::read(cache_entry.path()) {