mirror of
https://github.com/pesde-pkg/pesde.git
synced 2025-05-04 10:33:47 +01:00
fix: install mode works with force mode
This commit is contained in:
parent
ae9da1307c
commit
faedef0c81
1 changed files with 17 additions and 17 deletions
|
@ -250,25 +250,25 @@ impl Project {
|
||||||
|
|
||||||
let mut downloaded_graph = DependencyGraph::new();
|
let mut downloaded_graph = DependencyGraph::new();
|
||||||
|
|
||||||
let graph_to_download = if force {
|
let mut queue = graph
|
||||||
Cow::Borrowed(graph)
|
.iter()
|
||||||
} else {
|
.filter(|(_id, node)| {
|
||||||
let mut queue = graph
|
node.direct.is_some() && install_dependencies_mode.fits(node.resolved_ty)
|
||||||
|
})
|
||||||
|
.collect::<VecDeque<_>>();
|
||||||
|
|
||||||
|
let mut correct_deps = DependencyGraph::new();
|
||||||
|
while let Some((id, node)) = queue.pop_front() {
|
||||||
|
correct_deps.insert(id.clone(), node.clone());
|
||||||
|
node.dependencies
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|(_id, node)| {
|
.filter_map(|(id, _alias)| graph.get(&id).map(|node| (id, node)))
|
||||||
node.direct.is_some() && install_dependencies_mode.fits(node.resolved_ty)
|
.for_each(|x| queue.push_back(x));
|
||||||
})
|
}
|
||||||
.collect::<VecDeque<_>>();
|
|
||||||
|
|
||||||
let mut correct_deps = DependencyGraph::new();
|
|
||||||
while let Some((id, node)) = queue.pop_front() {
|
|
||||||
correct_deps.insert(id.clone(), node.clone());
|
|
||||||
node.dependencies
|
|
||||||
.iter()
|
|
||||||
.filter_map(|(id, _alias)| graph.get(&id).map(|node| (id, node)))
|
|
||||||
.for_each(|x| queue.push_back(x));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
let graph_to_download = if force {
|
||||||
|
Cow::Borrowed(&correct_deps)
|
||||||
|
} else {
|
||||||
let mut tasks = correct_deps
|
let mut tasks = correct_deps
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|(id, node)| {
|
.map(|(id, node)| {
|
||||||
|
|
Loading…
Add table
Reference in a new issue