dirstate: don't remove normallookup files from nonnormalset
authorMark Thomas <mbthomas@fb.com>
Wed, 08 Nov 2017 09:27:14 -0800
changeset 35016 1664dc7ccd8a
parent 35015 ecede5263adb
child 35017 e61d661b0350
dirstate: don't remove normallookup files from nonnormalset 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. Differential Revision: https://phab.mercurial-scm.org/D1339
mercurial/dirstate.py
--- a/mercurial/dirstate.py	Wed Nov 08 09:23:53 2017 -0800
+++ b/mercurial/dirstate.py	Wed Nov 08 09:27:14 2017 -0800
@@ -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.'''