mirror of
https://github.com/rust-lang/cargo
synced 2024-10-14 03:32:39 +00:00
Don't show (*) deduplicate if a node doesn't have any dependencies to show.
This commit is contained in:
parent
9dc56c6280
commit
6868215982
|
@ -117,6 +117,11 @@ impl<'a> Graph<'a> {
|
|||
}
|
||||
}
|
||||
|
||||
/// Returns `true` if the given node has any outgoing edges.
|
||||
pub fn has_outgoing_edges(&self, index: usize) -> bool {
|
||||
!self.edges[index].0.is_empty()
|
||||
}
|
||||
|
||||
/// Gets a node by index.
|
||||
pub fn node(&self, index: usize) -> &Node {
|
||||
&self.nodes[index]
|
||||
|
|
|
@ -249,7 +249,15 @@ fn print_node<'a>(
|
|||
}
|
||||
|
||||
let in_cycle = print_stack.contains(&node_index);
|
||||
let star = if new && !in_cycle { "" } else { " (*)" };
|
||||
// If this node does not have any outgoing edges, don't include the (*)
|
||||
// since there isn't really anything "deduplicated", and it generally just
|
||||
// adds noise.
|
||||
let has_deps = graph.has_outgoing_edges(node_index);
|
||||
let star = if (new && !in_cycle) || !has_deps {
|
||||
""
|
||||
} else {
|
||||
" (*)"
|
||||
};
|
||||
println!("{}{}", format.display(graph, node_index), star);
|
||||
|
||||
if !new || in_cycle {
|
||||
|
|
|
@ -47,7 +47,7 @@ foo v0.1.0 ([..]/foo)
|
|||
├── a v1.0.0
|
||||
│ └── b v1.0.0
|
||||
│ └── c v1.0.0
|
||||
└── c v1.0.0 (*)
|
||||
└── c v1.0.0
|
||||
[build-dependencies]
|
||||
└── bdep v1.0.0
|
||||
└── b v1.0.0 (*)
|
||||
|
@ -109,7 +109,7 @@ b v0.1.0 ([..]/foo/b)
|
|||
├── c v1.0.0 ([..]/foo/c)
|
||||
└── somedep v1.0.0
|
||||
|
||||
c v1.0.0 ([..]/foo/c) (*)
|
||||
c v1.0.0 ([..]/foo/c)
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -379,7 +379,7 @@ foo v0.1.0 ([..]/foo)
|
|||
└── pm_host v1.0.0
|
||||
[build-dependencies]
|
||||
└── build_host_dep v1.0.0
|
||||
└── hostdep v1.0.0 (*)
|
||||
└── hostdep v1.0.0
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -430,8 +430,8 @@ foo v0.1.0 ([..]/foo)
|
|||
└── targetdep v1.0.0
|
||||
[build-dependencies]
|
||||
├── build_host_dep v1.0.0
|
||||
│ ├── hostdep v1.0.0 (*)
|
||||
│ └── targetdep v1.0.0 (*)
|
||||
│ ├── hostdep v1.0.0
|
||||
│ └── targetdep v1.0.0
|
||||
└── build_target_dep v1.0.0
|
||||
[dev-dependencies]
|
||||
└── devdep v1.0.0
|
||||
|
@ -561,7 +561,7 @@ foo v0.1.0 ([..]/foo)
|
|||
│ └── c v1.0.0
|
||||
├── b2 v1.0.0
|
||||
│ └── d v1.0.0
|
||||
└── c v1.0.0 (*)
|
||||
└── c v1.0.0
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -572,7 +572,7 @@ foo v0.1.0 ([..]/foo)
|
|||
c v1.0.0
|
||||
├── b1 v1.0.0
|
||||
│ └── foo v0.1.0 ([..]/foo)
|
||||
└── foo v0.1.0 ([..]/foo) (*)
|
||||
└── foo v0.1.0 ([..]/foo)
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -608,7 +608,7 @@ foo v0.1.0 ([..]/foo)
|
|||
└── common v1.0.0
|
||||
[build-dependencies]
|
||||
└── bdep v1.0.0
|
||||
└── common v1.0.0 (*)
|
||||
└── common v1.0.0
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -620,7 +620,7 @@ common v1.0.0
|
|||
├── bdep v1.0.0
|
||||
│ [build-dependencies]
|
||||
│ └── foo v0.1.0 ([..]/foo)
|
||||
└── foo v0.1.0 ([..]/foo) (*)
|
||||
└── foo v0.1.0 ([..]/foo)
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -637,7 +637,7 @@ foo v0.1.0 ([..]/foo)
|
|||
a v1.0.0
|
||||
b v1.0.0
|
||||
c v1.0.0
|
||||
c v1.0.0 (*)
|
||||
c v1.0.0
|
||||
bdep v1.0.0
|
||||
b v1.0.0 (*)
|
||||
devdep v1.0.0
|
||||
|
@ -658,7 +658,7 @@ fn prefix_depth() {
|
|||
1a v1.0.0
|
||||
2b v1.0.0
|
||||
3c v1.0.0
|
||||
1c v1.0.0 (*)
|
||||
1c v1.0.0
|
||||
1bdep v1.0.0
|
||||
2b v1.0.0 (*)
|
||||
1devdep v1.0.0
|
||||
|
@ -821,7 +821,7 @@ dog v1.0.0
|
|||
└── a v0.1.0 ([..]/foo/a)
|
||||
|
||||
dog v2.0.0
|
||||
└── a v0.1.0 ([..]/foo/a) (*)
|
||||
└── a v0.1.0 ([..]/foo/a)
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -834,7 +834,7 @@ cat v1.0.0
|
|||
└── b v0.1.0 ([..]/foo/b)
|
||||
|
||||
cat v2.0.0
|
||||
└── b v0.1.0 ([..]/foo/b) (*)
|
||||
└── b v0.1.0 ([..]/foo/b)
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -850,7 +850,7 @@ foo v0.1.0 ([..]/foo)
|
|||
|-- a v1.0.0
|
||||
| `-- b v1.0.0
|
||||
| `-- c v1.0.0
|
||||
`-- c v1.0.0 (*)
|
||||
`-- c v1.0.0
|
||||
[build-dependencies]
|
||||
`-- bdep v1.0.0
|
||||
`-- b v1.0.0 (*)
|
||||
|
@ -1076,7 +1076,7 @@ optdep v1.0.0
|
|||
└── bar v1.0.0
|
||||
└── foo v0.1.0 ([..]/foo)
|
||||
[build-dependencies]
|
||||
└── foo v0.1.0 ([..]/foo) (*)
|
||||
└── foo v0.1.0 ([..]/foo)
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -1103,7 +1103,7 @@ bar v1.0.0
|
|||
|
||||
bar v1.0.0
|
||||
[build-dependencies]
|
||||
└── foo v0.1.0 ([..]/foo) (*)
|
||||
└── foo v0.1.0 ([..]/foo)
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -1191,7 +1191,7 @@ somedep v1.0.0
|
|||
somedep v1.0.0
|
||||
├── foo v0.1.0 ([..]/foo)
|
||||
└── pm v1.0.0
|
||||
└── foo v0.1.0 ([..]/foo) (*)
|
||||
└── foo v0.1.0 ([..]/foo)
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -1205,7 +1205,7 @@ somedep v1.0.0
|
|||
|
||||
somedep v1.0.0
|
||||
└── pm v1.0.0
|
||||
└── foo v0.1.0 ([..]/foo) (*)
|
||||
└── foo v0.1.0 ([..]/foo)
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
|
|
@ -59,7 +59,7 @@ foo v0.1.0 ([..]/foo)
|
|||
│ │ └── optdep feature \"default\"
|
||||
│ │ ├── optdep v1.0.0
|
||||
│ │ └── optdep feature \"cat\"
|
||||
│ │ └── optdep v1.0.0 (*)
|
||||
│ │ └── optdep v1.0.0
|
||||
│ └── defaultdep feature \"f1\"
|
||||
│ ├── defaultdep v1.0.0 (*)
|
||||
│ └── defaultdep feature \"optdep\"
|
||||
|
@ -139,11 +139,11 @@ a v0.1.0 ([..]/foo/a)
|
|||
├── b feature \"default\" (command-line)
|
||||
│ ├── b v0.1.0 ([..]/foo/b)
|
||||
│ └── b feature \"feat1\"
|
||||
│ └── b v0.1.0 ([..]/foo/b) (*)
|
||||
│ └── b v0.1.0 ([..]/foo/b)
|
||||
└── b feature \"feat2\"
|
||||
└── b v0.1.0 ([..]/foo/b) (*)
|
||||
└── b v0.1.0 ([..]/foo/b)
|
||||
|
||||
b v0.1.0 ([..]/foo/b) (*)
|
||||
b v0.1.0 ([..]/foo/b)
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -154,7 +154,7 @@ b v0.1.0 ([..]/foo/b) (*)
|
|||
a v0.1.0 ([..]/foo/a)
|
||||
├── a feature \"a1\"
|
||||
│ └── a feature \"default\" (command-line)
|
||||
└── a feature \"default\" (command-line) (*)
|
||||
└── a feature \"default\" (command-line)
|
||||
|
||||
b v0.1.0 ([..]/foo/b)
|
||||
├── b feature \"default\" (command-line)
|
||||
|
@ -218,7 +218,7 @@ foo v0.1.0 ([..]/foo)
|
|||
├── foo feature \"default\" (command-line)
|
||||
├── foo feature \"f1\" (command-line)
|
||||
└── foo feature \"opt\"
|
||||
└── foo feature \"f1\" (command-line) (*)
|
||||
└── foo feature \"f1\" (command-line)
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -234,9 +234,9 @@ notopt v1.0.0
|
|||
└── notopt feature \"default\"
|
||||
└── foo v0.1.0 ([..]/foo)
|
||||
├── foo feature \"default\" (command-line)
|
||||
├── foo feature \"f1\" (command-line) (*)
|
||||
├── foo feature \"f1\" (command-line)
|
||||
└── foo feature \"opt\"
|
||||
└── foo feature \"f1\" (command-line) (*)
|
||||
└── foo feature \"f1\" (command-line)
|
||||
",
|
||||
)
|
||||
.run();
|
||||
|
@ -247,7 +247,7 @@ notopt v1.0.0
|
|||
notopt v1.0.0
|
||||
├── notopt feature \"animal\" (command-line)
|
||||
├── notopt feature \"cat\"
|
||||
│ └── notopt feature \"animal\" (command-line) (*)
|
||||
│ └── notopt feature \"animal\" (command-line)
|
||||
└── notopt feature \"default\"
|
||||
└── foo v0.1.0 ([..]/foo)
|
||||
└── foo feature \"default\" (command-line)
|
||||
|
@ -277,7 +277,7 @@ opt2 v1.0.0
|
|||
└── foo v0.1.0 ([..]/foo)
|
||||
├── foo feature \"f1\" (command-line)
|
||||
│ └── foo feature \"f2\" (command-line)
|
||||
├── foo feature \"f2\" (command-line) (*)
|
||||
├── foo feature \"f2\" (command-line)
|
||||
├── foo feature \"opt\" (command-line)
|
||||
│ └── foo feature \"f1\" (command-line) (*)
|
||||
└── foo feature \"opt2\" (command-line)
|
||||
|
|
Loading…
Reference in a new issue