just playing with tangled
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

copies: inline `adjust_for_copy_tracking()`

We now have only one caller, and it's in a different module, so it
makes more sense to move it there.

authored by

Martin von Zweigbergk and committed by
Martin von Zweigbergk
ad86dd1c e670837f

+16 -24
+15 -1
lib/src/copies.rs
··· 97 97 fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> { 98 98 self.inner.as_mut().poll_next(cx).map(|option| { 99 99 option.map(|diff_entry| { 100 - diff_entry.adjust_for_copy_tracking(&self.source_tree, self.copy_records) 100 + let Some(CopyRecord { source, .. }) = 101 + self.copy_records.for_target(&diff_entry.target) 102 + else { 103 + return diff_entry; 104 + }; 105 + 106 + TreeDiffEntry { 107 + source: source.clone(), 108 + target: diff_entry.target, 109 + value: diff_entry.value.and_then(|(_, target_value)| { 110 + self.source_tree 111 + .path_value(source) 112 + .map(|source_value| (source_value, target_value)) 113 + }), 114 + } 101 115 }) 102 116 }) 103 117 }
+1 -23
lib/src/merged_tree.rs
··· 30 30 use itertools::{EitherOrBoth, Itertools}; 31 31 32 32 use crate::backend; 33 - use crate::backend::{BackendResult, CopyRecord, MergedTreeId, TreeId, TreeValue}; 33 + use crate::backend::{BackendResult, MergedTreeId, TreeId, TreeValue}; 34 34 use crate::copies::{CopiesTreeDiffStream, CopyRecords}; 35 35 use crate::matchers::{EverythingMatcher, Matcher}; 36 36 use crate::merge::{Merge, MergeBuilder, MergedTreeVal, MergedTreeValue}; ··· 317 317 pub target: RepoPathBuf, 318 318 /// The resolved tree values if available. 319 319 pub value: BackendResult<(MergedTreeValue, MergedTreeValue)>, 320 - } 321 - 322 - impl TreeDiffEntry { 323 - pub(crate) fn adjust_for_copy_tracking( 324 - self, 325 - source_tree: &MergedTree, 326 - copy_records: &CopyRecords, 327 - ) -> TreeDiffEntry { 328 - let Some(CopyRecord { source, .. }) = copy_records.for_target(&self.target) else { 329 - return self; 330 - }; 331 - 332 - Self { 333 - source: source.clone(), 334 - target: self.target, 335 - value: self.value.and_then(|(_, target_value)| { 336 - source_tree 337 - .path_value(source) 338 - .map(|source_value| (source_value, target_value)) 339 - }), 340 - } 341 - } 342 320 } 343 321 344 322 /// Type alias for the result from `MergedTree::diff_stream()`. We use a