equal
deleted
inserted
replaced
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() |