Mercurial > hg
changeset 41131:486908e691be
rust-ancestors: adjust indent level to make next change easier to follow
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 19 Dec 2018 21:42:06 +0900 |
parents | d43719bd01f0 |
children | 55dc1da8df2f |
files | rust/hg-core/src/ancestors.rs |
diffstat | 1 files changed, 32 insertions(+), 31 deletions(-) [+] |
line wrap: on
line diff
--- a/rust/hg-core/src/ancestors.rs Sun Jan 06 11:29:44 2019 +0900 +++ b/rust/hg-core/src/ancestors.rs Wed Dec 19 21:42:06 2018 +0900 @@ -341,40 +341,41 @@ // in Rust, one can't just use mutable variables assignation // to be more straightforward. Instead of Python's // thisvisit and othervisit, we'll differentiate with a boolean - let this_visit_is_revs = { - if revs_visit.remove(&curr) { - missing.push(curr); - true - } else if bases_visit.contains(&curr) { - false - } else { - // not an ancestor of revs or bases: ignore - continue; - } - }; + let this_visit_is_revs; + if revs_visit.remove(&curr) { + missing.push(curr); + this_visit_is_revs = true; + } else if bases_visit.contains(&curr) { + this_visit_is_revs = false; + } else { + // not an ancestor of revs or bases: ignore + continue; + } - for p in self.graph.parents(curr)?.iter().cloned() { - if p == NULL_REVISION { - continue; - } - let in_other_visit = if this_visit_is_revs { - bases_visit.contains(&p) - } else { - revs_visit.contains(&p) - }; - if in_other_visit || both_visit.contains(&p) { - // p is implicitely in this_visit. - // This means p is or should be in bothvisit - // TODO optim: hence if bothvisit, we look up twice - revs_visit.remove(&p); - bases_visit.insert(p); - both_visit.insert(p); - } else { - // visit later - if this_visit_is_revs { - revs_visit.insert(p); + { + for p in self.graph.parents(curr)?.iter().cloned() { + if p == NULL_REVISION { + continue; + } + let in_other_visit = if this_visit_is_revs { + bases_visit.contains(&p) } else { + revs_visit.contains(&p) + }; + if in_other_visit || both_visit.contains(&p) { + // p is implicitely in this_visit. + // This means p is or should be in bothvisit + // TODO optim: hence if bothvisit, we look up twice + revs_visit.remove(&p); bases_visit.insert(p); + both_visit.insert(p); + } else { + // visit later + if this_visit_is_revs { + revs_visit.insert(p); + } else { + bases_visit.insert(p); + } } } }