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.
|
/// Gets a node by index.
|
||||||
pub fn node(&self, index: usize) -> &Node {
|
pub fn node(&self, index: usize) -> &Node {
|
||||||
&self.nodes[index]
|
&self.nodes[index]
|
||||||
|
|
|
@ -249,7 +249,15 @@ fn print_node<'a>(
|
||||||
}
|
}
|
||||||
|
|
||||||
let in_cycle = print_stack.contains(&node_index);
|
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);
|
println!("{}{}", format.display(graph, node_index), star);
|
||||||
|
|
||||||
if !new || in_cycle {
|
if !new || in_cycle {
|
||||||
|
|
|
@ -47,7 +47,7 @@ foo v0.1.0 ([..]/foo)
|
||||||
├── a v1.0.0
|
├── a v1.0.0
|
||||||
│ └── b v1.0.0
|
│ └── b v1.0.0
|
||||||
│ └── c v1.0.0
|
│ └── c v1.0.0
|
||||||
└── c v1.0.0 (*)
|
└── c v1.0.0
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
└── bdep v1.0.0
|
└── bdep v1.0.0
|
||||||
└── b v1.0.0 (*)
|
└── b v1.0.0 (*)
|
||||||
|
@ -109,7 +109,7 @@ b v0.1.0 ([..]/foo/b)
|
||||||
├── c v1.0.0 ([..]/foo/c)
|
├── c v1.0.0 ([..]/foo/c)
|
||||||
└── somedep v1.0.0
|
└── somedep v1.0.0
|
||||||
|
|
||||||
c v1.0.0 ([..]/foo/c) (*)
|
c v1.0.0 ([..]/foo/c)
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -379,7 +379,7 @@ foo v0.1.0 ([..]/foo)
|
||||||
└── pm_host v1.0.0
|
└── pm_host v1.0.0
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
└── build_host_dep v1.0.0
|
└── build_host_dep v1.0.0
|
||||||
└── hostdep v1.0.0 (*)
|
└── hostdep v1.0.0
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -430,8 +430,8 @@ foo v0.1.0 ([..]/foo)
|
||||||
└── targetdep v1.0.0
|
└── targetdep v1.0.0
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
├── build_host_dep v1.0.0
|
├── build_host_dep v1.0.0
|
||||||
│ ├── hostdep v1.0.0 (*)
|
│ ├── hostdep v1.0.0
|
||||||
│ └── targetdep v1.0.0 (*)
|
│ └── targetdep v1.0.0
|
||||||
└── build_target_dep v1.0.0
|
└── build_target_dep v1.0.0
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
└── devdep v1.0.0
|
└── devdep v1.0.0
|
||||||
|
@ -561,7 +561,7 @@ foo v0.1.0 ([..]/foo)
|
||||||
│ └── c v1.0.0
|
│ └── c v1.0.0
|
||||||
├── b2 v1.0.0
|
├── b2 v1.0.0
|
||||||
│ └── d v1.0.0
|
│ └── d v1.0.0
|
||||||
└── c v1.0.0 (*)
|
└── c v1.0.0
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -572,7 +572,7 @@ foo v0.1.0 ([..]/foo)
|
||||||
c v1.0.0
|
c v1.0.0
|
||||||
├── b1 v1.0.0
|
├── b1 v1.0.0
|
||||||
│ └── foo v0.1.0 ([..]/foo)
|
│ └── foo v0.1.0 ([..]/foo)
|
||||||
└── foo v0.1.0 ([..]/foo) (*)
|
└── foo v0.1.0 ([..]/foo)
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -608,7 +608,7 @@ foo v0.1.0 ([..]/foo)
|
||||||
└── common v1.0.0
|
└── common v1.0.0
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
└── bdep v1.0.0
|
└── bdep v1.0.0
|
||||||
└── common v1.0.0 (*)
|
└── common v1.0.0
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -620,7 +620,7 @@ common v1.0.0
|
||||||
├── bdep v1.0.0
|
├── bdep v1.0.0
|
||||||
│ [build-dependencies]
|
│ [build-dependencies]
|
||||||
│ └── foo v0.1.0 ([..]/foo)
|
│ └── foo v0.1.0 ([..]/foo)
|
||||||
└── foo v0.1.0 ([..]/foo) (*)
|
└── foo v0.1.0 ([..]/foo)
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -637,7 +637,7 @@ foo v0.1.0 ([..]/foo)
|
||||||
a v1.0.0
|
a v1.0.0
|
||||||
b v1.0.0
|
b v1.0.0
|
||||||
c v1.0.0
|
c v1.0.0
|
||||||
c v1.0.0 (*)
|
c v1.0.0
|
||||||
bdep v1.0.0
|
bdep v1.0.0
|
||||||
b v1.0.0 (*)
|
b v1.0.0 (*)
|
||||||
devdep v1.0.0
|
devdep v1.0.0
|
||||||
|
@ -658,7 +658,7 @@ fn prefix_depth() {
|
||||||
1a v1.0.0
|
1a v1.0.0
|
||||||
2b v1.0.0
|
2b v1.0.0
|
||||||
3c v1.0.0
|
3c v1.0.0
|
||||||
1c v1.0.0 (*)
|
1c v1.0.0
|
||||||
1bdep v1.0.0
|
1bdep v1.0.0
|
||||||
2b v1.0.0 (*)
|
2b v1.0.0 (*)
|
||||||
1devdep v1.0.0
|
1devdep v1.0.0
|
||||||
|
@ -821,7 +821,7 @@ dog v1.0.0
|
||||||
└── a v0.1.0 ([..]/foo/a)
|
└── a v0.1.0 ([..]/foo/a)
|
||||||
|
|
||||||
dog v2.0.0
|
dog v2.0.0
|
||||||
└── a v0.1.0 ([..]/foo/a) (*)
|
└── a v0.1.0 ([..]/foo/a)
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -834,7 +834,7 @@ cat v1.0.0
|
||||||
└── b v0.1.0 ([..]/foo/b)
|
└── b v0.1.0 ([..]/foo/b)
|
||||||
|
|
||||||
cat v2.0.0
|
cat v2.0.0
|
||||||
└── b v0.1.0 ([..]/foo/b) (*)
|
└── b v0.1.0 ([..]/foo/b)
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -850,7 +850,7 @@ foo v0.1.0 ([..]/foo)
|
||||||
|-- a v1.0.0
|
|-- a v1.0.0
|
||||||
| `-- b v1.0.0
|
| `-- b v1.0.0
|
||||||
| `-- c v1.0.0
|
| `-- c v1.0.0
|
||||||
`-- c v1.0.0 (*)
|
`-- c v1.0.0
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
`-- bdep v1.0.0
|
`-- bdep v1.0.0
|
||||||
`-- b v1.0.0 (*)
|
`-- b v1.0.0 (*)
|
||||||
|
@ -1076,7 +1076,7 @@ optdep v1.0.0
|
||||||
└── bar v1.0.0
|
└── bar v1.0.0
|
||||||
└── foo v0.1.0 ([..]/foo)
|
└── foo v0.1.0 ([..]/foo)
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
└── foo v0.1.0 ([..]/foo) (*)
|
└── foo v0.1.0 ([..]/foo)
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -1103,7 +1103,7 @@ bar v1.0.0
|
||||||
|
|
||||||
bar v1.0.0
|
bar v1.0.0
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
└── foo v0.1.0 ([..]/foo) (*)
|
└── foo v0.1.0 ([..]/foo)
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -1191,7 +1191,7 @@ somedep v1.0.0
|
||||||
somedep v1.0.0
|
somedep v1.0.0
|
||||||
├── foo v0.1.0 ([..]/foo)
|
├── foo v0.1.0 ([..]/foo)
|
||||||
└── pm v1.0.0
|
└── pm v1.0.0
|
||||||
└── foo v0.1.0 ([..]/foo) (*)
|
└── foo v0.1.0 ([..]/foo)
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -1205,7 +1205,7 @@ somedep v1.0.0
|
||||||
|
|
||||||
somedep v1.0.0
|
somedep v1.0.0
|
||||||
└── pm v1.0.0
|
└── pm v1.0.0
|
||||||
└── foo v0.1.0 ([..]/foo) (*)
|
└── foo v0.1.0 ([..]/foo)
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
|
|
@ -59,7 +59,7 @@ foo v0.1.0 ([..]/foo)
|
||||||
│ │ └── optdep feature \"default\"
|
│ │ └── optdep feature \"default\"
|
||||||
│ │ ├── optdep v1.0.0
|
│ │ ├── optdep v1.0.0
|
||||||
│ │ └── optdep feature \"cat\"
|
│ │ └── optdep feature \"cat\"
|
||||||
│ │ └── optdep v1.0.0 (*)
|
│ │ └── optdep v1.0.0
|
||||||
│ └── defaultdep feature \"f1\"
|
│ └── defaultdep feature \"f1\"
|
||||||
│ ├── defaultdep v1.0.0 (*)
|
│ ├── defaultdep v1.0.0 (*)
|
||||||
│ └── defaultdep feature \"optdep\"
|
│ └── defaultdep feature \"optdep\"
|
||||||
|
@ -139,11 +139,11 @@ a v0.1.0 ([..]/foo/a)
|
||||||
├── b feature \"default\" (command-line)
|
├── b feature \"default\" (command-line)
|
||||||
│ ├── b v0.1.0 ([..]/foo/b)
|
│ ├── b v0.1.0 ([..]/foo/b)
|
||||||
│ └── b feature \"feat1\"
|
│ └── b feature \"feat1\"
|
||||||
│ └── b v0.1.0 ([..]/foo/b) (*)
|
│ └── b v0.1.0 ([..]/foo/b)
|
||||||
└── b feature \"feat2\"
|
└── 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();
|
.run();
|
||||||
|
@ -154,7 +154,7 @@ b v0.1.0 ([..]/foo/b) (*)
|
||||||
a v0.1.0 ([..]/foo/a)
|
a v0.1.0 ([..]/foo/a)
|
||||||
├── a feature \"a1\"
|
├── a feature \"a1\"
|
||||||
│ └── a feature \"default\" (command-line)
|
│ └── a feature \"default\" (command-line)
|
||||||
└── a feature \"default\" (command-line) (*)
|
└── a feature \"default\" (command-line)
|
||||||
|
|
||||||
b v0.1.0 ([..]/foo/b)
|
b v0.1.0 ([..]/foo/b)
|
||||||
├── b feature \"default\" (command-line)
|
├── b feature \"default\" (command-line)
|
||||||
|
@ -218,7 +218,7 @@ foo v0.1.0 ([..]/foo)
|
||||||
├── foo feature \"default\" (command-line)
|
├── foo feature \"default\" (command-line)
|
||||||
├── foo feature \"f1\" (command-line)
|
├── foo feature \"f1\" (command-line)
|
||||||
└── foo feature \"opt\"
|
└── foo feature \"opt\"
|
||||||
└── foo feature \"f1\" (command-line) (*)
|
└── foo feature \"f1\" (command-line)
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -234,9 +234,9 @@ notopt v1.0.0
|
||||||
└── notopt feature \"default\"
|
└── notopt feature \"default\"
|
||||||
└── foo v0.1.0 ([..]/foo)
|
└── foo v0.1.0 ([..]/foo)
|
||||||
├── foo feature \"default\" (command-line)
|
├── foo feature \"default\" (command-line)
|
||||||
├── foo feature \"f1\" (command-line) (*)
|
├── foo feature \"f1\" (command-line)
|
||||||
└── foo feature \"opt\"
|
└── foo feature \"opt\"
|
||||||
└── foo feature \"f1\" (command-line) (*)
|
└── foo feature \"f1\" (command-line)
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
|
@ -247,7 +247,7 @@ notopt v1.0.0
|
||||||
notopt v1.0.0
|
notopt v1.0.0
|
||||||
├── notopt feature \"animal\" (command-line)
|
├── notopt feature \"animal\" (command-line)
|
||||||
├── notopt feature \"cat\"
|
├── notopt feature \"cat\"
|
||||||
│ └── notopt feature \"animal\" (command-line) (*)
|
│ └── notopt feature \"animal\" (command-line)
|
||||||
└── notopt feature \"default\"
|
└── notopt feature \"default\"
|
||||||
└── foo v0.1.0 ([..]/foo)
|
└── foo v0.1.0 ([..]/foo)
|
||||||
└── foo feature \"default\" (command-line)
|
└── foo feature \"default\" (command-line)
|
||||||
|
@ -277,7 +277,7 @@ opt2 v1.0.0
|
||||||
└── foo v0.1.0 ([..]/foo)
|
└── foo v0.1.0 ([..]/foo)
|
||||||
├── foo feature \"f1\" (command-line)
|
├── foo feature \"f1\" (command-line)
|
||||||
│ └── foo feature \"f2\" (command-line)
|
│ └── foo feature \"f2\" (command-line)
|
||||||
├── foo feature \"f2\" (command-line) (*)
|
├── foo feature \"f2\" (command-line)
|
||||||
├── foo feature \"opt\" (command-line)
|
├── foo feature \"opt\" (command-line)
|
||||||
│ └── foo feature \"f1\" (command-line) (*)
|
│ └── foo feature \"f1\" (command-line) (*)
|
||||||
└── foo feature \"opt2\" (command-line)
|
└── foo feature \"opt2\" (command-line)
|
||||||
|
|
Loading…
Reference in a new issue