diff --git a/lib/src/default_revset_graph_iterator.rs b/lib/src/default_revset_graph_iterator.rs index 7c5253433..a2cb2a1e8 100644 --- a/lib/src/default_revset_graph_iterator.rs +++ b/lib/src/default_revset_graph_iterator.rs @@ -200,6 +200,10 @@ impl<'revset, 'index> RevsetGraphIterator<'revset, 'index> { let mut stack = vec![index_entry]; while let Some(entry) = stack.last() { let position = entry.position(); + if self.edges.contains_key(&position) { + stack.pop().unwrap(); + continue; + } let mut edges = HashSet::new(); let mut parents_complete = true; for parent in entry.parents() {