rust/hg-core/src/dirstate_tree/dirstate_map.rs
changeset 48050 2ac0e6b23222
parent 48048 76f1c76186a1
child 48051 98c0408324e6
--- a/rust/hg-core/src/dirstate_tree/dirstate_map.rs	Thu Sep 23 15:29:38 2021 +0200
+++ b/rust/hg-core/src/dirstate_tree/dirstate_map.rs	Thu Sep 23 15:36:43 2021 +0200
@@ -845,7 +845,10 @@
         Ok(self.add_or_remove_file(filename, old_state, entry)?)
     }
 
-    fn drop_file(&mut self, filename: &HgPath) -> Result<(), DirstateError> {
+    fn drop_entry_and_copy_source(
+        &mut self,
+        filename: &HgPath,
+    ) -> Result<(), DirstateError> {
         let was_tracked = self
             .get(filename)?
             .map_or(false, |e| e.state().is_tracked());
@@ -907,7 +910,8 @@
                     node.data = NodeData::None
                 }
                 if let Some(source) = &node.copy_source {
-                    DirstateMap::count_dropped_path(unreachable_bytes, source)
+                    DirstateMap::count_dropped_path(unreachable_bytes, source);
+                    node.copy_source = None
                 }
                 dropped = Dropped {
                     was_tracked: node