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.
No Linters Available |
No Unit Test Coverage |
Path | Packages | |||
---|---|---|---|---|
M | mercurial/dirstatemap.py (15 lines) |
Commit | Parents | Author | Summary | Date |
---|---|---|---|---|
6b3bc82a8132 | 45d6def67f23 | Pierre-Yves David | Jul 14 2021, 8:19 PM |
"""incremente the dirstate counter if applicable""" | """incremente the dirstate counter if applicable""" | ||||
if ( | if ( | ||||
old_entry is None or old_entry.removed | old_entry is None or old_entry.removed | ||||
) and "_dirs" in self.__dict__: | ) and "_dirs" in self.__dict__: | ||||
self._dirs.addpath(filename) | self._dirs.addpath(filename) | ||||
if old_entry is None and "_alldirs" in self.__dict__: | if old_entry is None and "_alldirs" in self.__dict__: | ||||
self._alldirs.addpath(filename) | self._alldirs.addpath(filename) | ||||
def _dirs_decr(self, filename, old_entry=None): | def _dirs_decr(self, filename, old_entry=None, remove_variant=False): | ||||
"""decremente the dirstate counter if applicable""" | """decremente the dirstate counter if applicable""" | ||||
if old_entry is not None: | if old_entry is not None: | ||||
if "_dirs" in self.__dict__ and not old_entry.removed: | if "_dirs" in self.__dict__ and not old_entry.removed: | ||||
self._dirs.delpath(filename) | self._dirs.delpath(filename) | ||||
if "_alldirs" in self.__dict__: | if "_alldirs" in self.__dict__ and not remove_variant: | ||||
self._alldirs.delpath(filename) | self._alldirs.delpath(filename) | ||||
elif remove_variant and "_alldirs" in self.__dict__: | |||||
self._alldirs.addpath(filename) | |||||
if "filefoldmap" in self.__dict__: | if "filefoldmap" in self.__dict__: | ||||
normed = util.normcase(filename) | normed = util.normcase(filename) | ||||
self.filefoldmap.pop(normed, None) | self.filefoldmap.pop(normed, None) | ||||
def addfile( | def addfile( | ||||
self, | self, | ||||
f, | f, | ||||
mode=0, | mode=0, | ||||
# backup the previous state | # backup the previous state | ||||
if entry.merged: # merge | if entry.merged: # merge | ||||
size = NONNORMAL | size = NONNORMAL | ||||
elif entry.from_p2: | elif entry.from_p2: | ||||
size = FROM_P2 | size = FROM_P2 | ||||
self.otherparentset.add(f) | self.otherparentset.add(f) | ||||
if entry is not None and not (entry.merged or entry.from_p2): | if entry is not None and not (entry.merged or entry.from_p2): | ||||
self.copymap.pop(f, None) | self.copymap.pop(f, None) | ||||
self._dirs_decr(f, old_entry=entry, remove_variant=True) | |||||
if entry is not None and not entry.removed and "_dirs" in self.__dict__: | |||||
self._dirs.delpath(f) | |||||
if entry is None and "_alldirs" in self.__dict__: | |||||
self._alldirs.addpath(f) | |||||
if "filefoldmap" in self.__dict__: | |||||
normed = util.normcase(f) | |||||
self.filefoldmap.pop(normed, None) | |||||
self._map[f] = DirstateItem(b'r', 0, size, 0) | self._map[f] = DirstateItem(b'r', 0, size, 0) | ||||
self.nonnormalset.add(f) | self.nonnormalset.add(f) | ||||
def dropfile(self, f): | def dropfile(self, f): | ||||
""" | """ | ||||
Remove a file from the dirstate. Returns True if the file was | Remove a file from the dirstate. Returns True if the file was | ||||
previously recorded. | previously recorded. | ||||
""" | """ |