From c0c5e8f041924eca31173a9ea63dfc59cbeeaeb6 Mon Sep 17 00:00:00 2001 From: Yuya Nishihara Date: Tue, 24 Jan 2023 18:51:24 +0900 Subject: [PATCH] repo: rewrite "all()" query to clarify data dependency --- lib/src/repo.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/src/repo.rs b/lib/src/repo.rs index b0292d0e7..df5d7a3fa 100644 --- a/lib/src/repo.rs +++ b/lib/src/repo.rs @@ -244,13 +244,10 @@ impl ReadonlyRepo { fn change_id_index(&self) -> &IdIndex { self.change_id_index.get_or_init(|| { - let all_visible_revisions = crate::revset::RevsetExpression::all() - .evaluate(self.as_repo_ref(), None) - .unwrap(); + let heads = self.view().heads().iter().cloned().collect_vec(); + let walk = self.index().walk_revs(&heads, &[]); IdIndex::from_vec( - all_visible_revisions - .iter() - .map(|entry| (entry.change_id().to_bytes(), ())) + walk.map(|entry| (entry.change_id().to_bytes(), ())) .collect(), ) })