cross_repo_sync: avoid an extra allocation

Summary: No need to allocate a new vector if we just need to remove items from the current one.

Reviewed By: StanislavGlebik

Differential Revision: D24088319

fbshipit-source-id: 10804d925f20fe8dd1e2bb8500aa06d30bd367c1
This commit is contained in:
Kostia Balytskyi 2020-10-05 02:00:10 -07:00 committed by Facebook GitHub Bot
parent 081ca3e7d6
commit d3c43fcc29

View File

@ -1293,12 +1293,9 @@ where
mut source_cs: BonsaiChangesetMut, mut source_cs: BonsaiChangesetMut,
new_source_parents: Vec<&ChangesetId>, new_source_parents: Vec<&ChangesetId>,
) -> Result<BonsaiChangesetMut, Error> { ) -> Result<BonsaiChangesetMut, Error> {
source_cs.parents = source_cs source_cs
.parents .parents
.clone() .retain(|p| new_source_parents.contains(&&*p));
.into_iter()
.filter(|p| new_source_parents.contains(&p))
.collect();
for (_, maybe_file_change) in source_cs.file_changes.iter_mut() { for (_, maybe_file_change) in source_cs.file_changes.iter_mut() {
let new_file_change = if let Some(file_change) = maybe_file_change { let new_file_change = if let Some(file_change) = maybe_file_change {