diff --git a/mercurial/dirstatemap.py b/mercurial/dirstatemap.py --- a/mercurial/dirstatemap.py +++ b/mercurial/dirstatemap.py @@ -479,10 +479,9 @@ self._dirs_decr(f, old_entry=entry, remove_variant=not entry.added) if not entry.merged: self.copymap.pop(f, None) - if entry.added: + entry.set_untracked() + if not entry.any_tracked: self._map.pop(f, None) - else: - entry.set_untracked() return True