Use relative paths for user display (#2559)

## Summary

This PR changes our user-facing representation for paths to use relative
paths, when the path is within the current working directory. This
mirrors what we do in Ruff. (If the path is _outside_ the current
working directory, we print an absolute path.)

Before:

```shell
❯ uv venv .venv2
Using Python 3.12.2 interpreter at: /Users/crmarsh/workspace/uv/.venv/bin/python3
Creating virtualenv at: .venv2
Activate with: source .venv2/bin/activate
```

After:

```shell
❯ cargo run venv .venv2
    Finished dev [unoptimized + debuginfo] target(s) in 0.15s
     Running `target/debug/uv venv .venv2`
Using Python 3.12.2 interpreter at: .venv/bin/python3
Creating virtualenv at: .venv2
Activate with: source .venv2/bin/activate
```

Note that we still want to use the existing `.simplified_display()`
anywhere that the path is being simplified, but _still_ intended for
machine consumption (e.g., when passing to `.current_dir()`).
This commit is contained in:
Charlie Marsh 2024-03-20 09:52:50 -04:00 committed by GitHub
parent 204b159cf4
commit 00fc44012c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 149 additions and 183 deletions

View file

@ -485,20 +485,20 @@ impl InterpreterInfo {
debug!(
"Cached interpreter info for Python {}, skipping probing: {}",
cached.data.markers.python_full_version,
executable.simplified_display()
executable.user_display()
);
return Ok(cached.data);
}
debug!(
"Ignoring stale cached markers for: {}",
executable.simplified_display()
executable.user_display()
);
}
Err(err) => {
warn!(
"Broken cache entry at {}, removing: {err}",
cache_entry.path().simplified_display()
cache_entry.path().user_display()
);
let _ = fs_err::remove_file(cache_entry.path());
}