equal
deleted
inserted
replaced
856 } |
856 } |
857 } else { |
857 } else { |
858 return Ok(None); |
858 return Ok(None); |
859 } |
859 } |
860 } else { |
860 } else { |
861 let had_entry = node.data.has_entry(); |
861 let entry = node.data.as_entry(); |
|
862 let was_tracked = entry.map_or(false, |entry| entry.tracked()); |
|
863 let had_entry = entry.is_some(); |
862 if had_entry { |
864 if had_entry { |
863 node.data = NodeData::None |
865 node.data = NodeData::None |
864 } |
866 } |
865 if let Some(source) = &node.copy_source { |
867 if let Some(source) = &node.copy_source { |
866 DirstateMap::count_dropped_path(unreachable_bytes, source); |
868 DirstateMap::count_dropped_path(unreachable_bytes, source); |
867 node.copy_source = None |
869 node.copy_source = None |
868 } |
870 } |
869 dropped = Dropped { |
871 dropped = Dropped { |
870 was_tracked: node |
872 was_tracked, |
871 .data |
|
872 .as_entry() |
|
873 .map_or(false, |entry| entry.state().is_tracked()), |
|
874 had_entry, |
873 had_entry, |
875 had_copy_source: node.copy_source.take().is_some(), |
874 had_copy_source: node.copy_source.take().is_some(), |
876 }; |
875 }; |
877 } |
876 } |
878 // After recursion, for both leaf (rest_of_path is None) nodes and |
877 // After recursion, for both leaf (rest_of_path is None) nodes and |