mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-07 21:35:00 +00:00
implement --no-dedupe
for uv pip tree
(#4449)
<!-- Thank you for contributing to uv! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? - Does this pull request include references to any relevant issues? --> ## Summary Resolves https://github.com/astral-sh/uv/issues/4439 partially. Implements for `uv pip tree`: - `--no-dedupe` flag, similar to `cargo tree --no-dedupe` . - denote dependency cycles with `(#)` and add a footnote if there's a cycle (using `(*)` would require keeping track of the cycle state, so opted to do this instead). <!-- What's the purpose of the change? What does it do, and why? --> ## Test Plan The existing tests pass + added a couple of tests to validate `--no-dedupe` behavior. <!-- How was it tested? -->
This commit is contained in:
parent
03cfdc2275
commit
c127632419
5 changed files with 232 additions and 24 deletions
|
@ -1385,6 +1385,14 @@ pub struct PipShowArgs {
|
|||
#[derive(Args)]
|
||||
#[allow(clippy::struct_excessive_bools)]
|
||||
pub struct PipTreeArgs {
|
||||
/// Do not de-duplicate repeated dependencies.
|
||||
/// Usually, when a package has already displayed its dependencies,
|
||||
/// further occurrences will not re-display its dependencies,
|
||||
/// and will include a (*) to indicate it has already been shown.
|
||||
/// This flag will cause those duplicates to be repeated.
|
||||
#[arg(long)]
|
||||
pub no_dedupe: bool,
|
||||
|
||||
/// Validate the virtual environment, to detect packages with missing dependencies or other
|
||||
/// issues.
|
||||
#[arg(long, overrides_with("no_strict"))]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue