# HG changeset patch # User Mateusz Kwapich # Date 1464217747 25200 # Node ID 3e438497edcab16bf3048e26136a40204b50fc06 # Parent 8dbfd3befbd79b5a441175a952cf83833173be41 dirstate: remove file from copymap on drop As the copymap is short-lived object regenerated from dirstate on each read this didn't affect us in any serious way. But since I've started working on permanent storage of copymap in my experiments with sqldirstate[1] I've seen this bug leaving the copy information in copymap after reverting the file moves and copies. [1] https://www.mercurial-scm.org/wiki/SQLDirstatePlan diff -r 8dbfd3befbd7 -r 3e438497edca mercurial/dirstate.py --- a/mercurial/dirstate.py Thu May 26 02:35:44 2016 +0000 +++ b/mercurial/dirstate.py Wed May 25 16:09:07 2016 -0700 @@ -582,6 +582,8 @@ del self._map[f] if f in self._nonnormalset: self._nonnormalset.remove(f) + if f in self._copymap: + del self._copymap[f] def _discoverpath(self, path, normed, ignoremissing, exists, storemap): if exists is None: