D1339: dirstate: don't remove normallookup files from nonnormalset

mbthomas (Mark Thomas) phabricator at mercurial-scm.org
Wed Nov 8 17:31:04 UTC 2017


mbthomas created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  The dirstate typically tries to keep the nonnormalset and otherparentset
  up-to-date when making changes to the dirstate.  In the case of files marked
  normallookup, however, it erroneously removes the file from the nonnormalset,
  after _addpath had just added it.
  
  This doesn't seem to matter at the moment, as nothing relies on the
  nonnormalset being correct at this point, however a future re-implementations
  of the dirstate map will require this to be kept up-to-date correctly.

REPOSITORY
  rHG Mercurial

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

AFFECTED FILES
  mercurial/dirstate.py

CHANGE DETAILS

diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -458,8 +458,6 @@
                     return
         self._addpath(f, 'n', 0, -1, -1)
         self._map.copymap.pop(f, None)
-        if f in self._map.nonnormalset:
-            self._map.nonnormalset.remove(f)
 
     def otherparent(self, f):
         '''Mark as coming from the other parent, always dirty.'''



To: mbthomas, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list