Mercurial > hg
changeset 47970:7ab99007fce5
dirstate: move the copymap drop inside dropfile
Since the copymap is part of the dirstatemap it make more sense for the
dirstatemap to manage it directly.
This is part of a generic effort to move unified logic at lower level and to
clean up higher level API.
Differential Revision: https://phab.mercurial-scm.org/D11417
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 02 Sep 2021 02:44:12 +0200 |
parents | 87e3f878e65f |
children | c0157aca5bf5 |
files | mercurial/dirstate.py mercurial/dirstatemap.py |
diffstat | 2 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/dirstate.py Tue Sep 14 18:25:51 2021 +0200 +++ b/mercurial/dirstate.py Thu Sep 02 02:44:12 2021 +0200 @@ -749,7 +749,6 @@ if self._map.dropfile(filename): self._dirty = True self._updatedfiles.add(filename) - self._map.copymap.pop(filename, None) def _discoverpath(self, path, normed, ignoremissing, exists, storemap): if exists is None:
--- a/mercurial/dirstatemap.py Tue Sep 14 18:25:51 2021 +0200 +++ b/mercurial/dirstatemap.py Thu Sep 02 02:44:12 2021 +0200 @@ -316,6 +316,7 @@ old_entry = self._map.pop(f, None) self._dirs_decr(f, old_entry=old_entry) self.nonnormalset.discard(f) + self.copymap.pop(f, None) return old_entry is not None def clearambiguoustimes(self, files, now): @@ -652,8 +653,9 @@ def removefile(self, *args, **kwargs): return self._rustmap.removefile(*args, **kwargs) - def dropfile(self, *args, **kwargs): - return self._rustmap.dropfile(*args, **kwargs) + def dropfile(self, f, *args, **kwargs): + self._rustmap.copymap().pop(f, None) + return self._rustmap.dropfile(f, *args, **kwargs) def clearambiguoustimes(self, *args, **kwargs): return self._rustmap.clearambiguoustimes(*args, **kwargs)