rust/hg-core/src/dirstate_tree/dirstate_map.rs
changeset 48050 2ac0e6b23222
parent 48048 76f1c76186a1
child 48051 98c0408324e6
equal deleted inserted replaced
48049:29aa633815db 48050:2ac0e6b23222
   843         }
   843         }
   844         let entry = DirstateEntry::new_removed(size);
   844         let entry = DirstateEntry::new_removed(size);
   845         Ok(self.add_or_remove_file(filename, old_state, entry)?)
   845         Ok(self.add_or_remove_file(filename, old_state, entry)?)
   846     }
   846     }
   847 
   847 
   848     fn drop_file(&mut self, filename: &HgPath) -> Result<(), DirstateError> {
   848     fn drop_entry_and_copy_source(
       
   849         &mut self,
       
   850         filename: &HgPath,
       
   851     ) -> Result<(), DirstateError> {
   849         let was_tracked = self
   852         let was_tracked = self
   850             .get(filename)?
   853             .get(filename)?
   851             .map_or(false, |e| e.state().is_tracked());
   854             .map_or(false, |e| e.state().is_tracked());
   852         struct Dropped {
   855         struct Dropped {
   853             was_tracked: bool,
   856             was_tracked: bool,
   905                 let had_entry = node.data.has_entry();
   908                 let had_entry = node.data.has_entry();
   906                 if had_entry {
   909                 if had_entry {
   907                     node.data = NodeData::None
   910                     node.data = NodeData::None
   908                 }
   911                 }
   909                 if let Some(source) = &node.copy_source {
   912                 if let Some(source) = &node.copy_source {
   910                     DirstateMap::count_dropped_path(unreachable_bytes, source)
   913                     DirstateMap::count_dropped_path(unreachable_bytes, source);
       
   914                     node.copy_source = None
   911                 }
   915                 }
   912                 dropped = Dropped {
   916                 dropped = Dropped {
   913                     was_tracked: node
   917                     was_tracked: node
   914                         .data
   918                         .data
   915                         .as_entry()
   919                         .as_entry()