rust/hg-core/src/dirstate_tree/dirstate_map.rs
branchstable
changeset 49002 fbc02ccc207e
parent 49001 2593873cda0f
child 49003 ce919b1a1063
equal deleted inserted replaced
49001:2593873cda0f 49002:fbc02ccc207e
   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