[Request] [+ ] D11423: dirstate: same logic as what we did for `_drop`

marmoute (Pierre-Yves David) phabricator at mercurial-scm.org
Thu Sep 16 14:42:34 UTC 2021


marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  This is part of the dirstatemap so let le dirstatemap deal with it.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D11423

AFFECTED FILES
  mercurial/dirstate.py
  mercurial/dirstatemap.py

CHANGE DETAILS

diff --git a/mercurial/dirstatemap.py b/mercurial/dirstatemap.py
--- a/mercurial/dirstatemap.py
+++ b/mercurial/dirstatemap.py
@@ -188,6 +188,7 @@
             assert not possibly_dirty
             assert not from_p2
             new_entry = DirstateItem.new_added()
+            self.copymap.pop(f, None)
         elif merged:
             assert not possibly_dirty
             assert not from_p2
@@ -567,7 +568,7 @@
             from_p2=False,
             possibly_dirty=False,
         ):
-            return self._rustmap.addfile(
+            ret = self._rustmap.addfile(
                 f,
                 mode,
                 size,
@@ -577,6 +578,9 @@
                 from_p2,
                 possibly_dirty,
             )
+            if added:
+                self.copymap.pop(f, None)
+            return ret
 
         def reset_state(
             self,
diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -738,7 +738,6 @@
     def _add(self, filename):
         """internal function to mark a file as added"""
         self._addpath(filename, added=True)
-        self._map.copymap.pop(filename, None)
 
     def _drop(self, filename):
         """internal function to drop a file from the dirstate"""



To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20210916/b42d1d36/attachment.html>


More information about the Mercurial-patches mailing list