This logic is complicated enough to deserves its own function. So it now does.
This will make it easier to reuse that logic in later changeset.
( )
| Alphare | |
| pulkit |
| hg-reviewers |
This logic is complicated enough to deserves its own function. So it now does.
This will make it easier to reuse that logic in later changeset.
| Automatic diff as part of commit; lint not applicable. |
| Automatic diff as part of commit; unit tests not applicable. |
| Path | Packages | |||
|---|---|---|---|---|
| M | mercurial/dirstatemap.py (16 lines) |
| def keys(self): | def keys(self): | ||||
| return self._map.keys() | return self._map.keys() | ||||
| def preload(self): | def preload(self): | ||||
| """Loads the underlying data, if it's not already loaded""" | """Loads the underlying data, if it's not already loaded""" | ||||
| self._map | self._map | ||||
| def _dirs_incr(self, filename, old_entry=None): | |||||
| """incremente the dirstate counter if applicable""" | |||||
| if ( | |||||
| old_entry is None or old_entry.removed | |||||
| ) and "_dirs" in self.__dict__: | |||||
| self._dirs.addpath(filename) | |||||
| if old_entry is None and "_alldirs" in self.__dict__: | |||||
| self._alldirs.addpath(filename) | |||||
| def addfile( | def addfile( | ||||
| self, | self, | ||||
| f, | f, | ||||
| mode=0, | mode=0, | ||||
| size=None, | size=None, | ||||
| mtime=None, | mtime=None, | ||||
| added=False, | added=False, | ||||
| merged=False, | merged=False, | ||||
| assert size != NONNORMAL | assert size != NONNORMAL | ||||
| state = b'n' | state = b'n' | ||||
| size = size & rangemask | size = size & rangemask | ||||
| mtime = mtime & rangemask | mtime = mtime & rangemask | ||||
| assert state is not None | assert state is not None | ||||
| assert size is not None | assert size is not None | ||||
| assert mtime is not None | assert mtime is not None | ||||
| old_entry = self.get(f) | old_entry = self.get(f) | ||||
| if ( | self._dirs_incr(f, old_entry) | ||||
| old_entry is None or old_entry.removed | |||||
| ) and "_dirs" in self.__dict__: | |||||
| self._dirs.addpath(f) | |||||
| if old_entry is None and "_alldirs" in self.__dict__: | |||||
| self._alldirs.addpath(f) | |||||
| e = self._map[f] = DirstateItem(state, mode, size, mtime) | e = self._map[f] = DirstateItem(state, mode, size, mtime) | ||||
| if e.dm_nonnormal: | if e.dm_nonnormal: | ||||
| self.nonnormalset.add(f) | self.nonnormalset.add(f) | ||||
| if e.dm_otherparent: | if e.dm_otherparent: | ||||
| self.otherparentset.add(f) | self.otherparentset.add(f) | ||||
| def removefile(self, f, in_merge=False): | def removefile(self, f, in_merge=False): | ||||
| """ | """ | ||||