comparison mercurial/dirstatemap.py @ 48050:2ac0e6b23222

dirstate: Replace dropfile with drop_item_and_copy_source Those removing a DirstateItem and a copy source are always done together Differential Revision: https://phab.mercurial-scm.org/D11493
author Simon Sapin <simon.sapin@octobus.net>
date Thu, 23 Sep 2021 15:36:43 +0200
parents 76f1c76186a1
children 98c0408324e6
comparison
equal deleted inserted replaced
48049:29aa633815db 48050:2ac0e6b23222
604 # copy information are now outdated 604 # copy information are now outdated
605 # (maybe new information should be in directly passed to this function) 605 # (maybe new information should be in directly passed to this function)
606 self.copymap.pop(filename, None) 606 self.copymap.pop(filename, None)
607 607
608 if not (p1_tracked or p2_tracked or wc_tracked): 608 if not (p1_tracked or p2_tracked or wc_tracked):
609 self.dropfile(filename) 609 self._rustmap.drop_item_and_copy_source(filename)
610 elif merged: 610 elif merged:
611 # XXX might be merged and removed ? 611 # XXX might be merged and removed ?
612 entry = self.get(filename) 612 entry = self.get(filename)
613 if entry is not None and entry.tracked: 613 if entry is not None and entry.tracked:
614 # XXX mostly replicate dirstate.other parent. We should get 614 # XXX mostly replicate dirstate.other parent. We should get
682 entry = self.get(f) 682 entry = self.get(f)
683 if entry is None: 683 if entry is None:
684 return False 684 return False
685 else: 685 else:
686 if entry.added: 686 if entry.added:
687 self._rustmap.copymap().pop(f, None) 687 self._rustmap.drop_item_and_copy_source(f)
688 self._rustmap.dropfile(f)
689 else: 688 else:
690 self._rustmap.removefile(f, in_merge=True) 689 self._rustmap.removefile(f, in_merge=True)
691 return True 690 return True
692 691
693 def removefile(self, *args, **kwargs): 692 def removefile(self, *args, **kwargs):
694 return self._rustmap.removefile(*args, **kwargs) 693 return self._rustmap.removefile(*args, **kwargs)
695
696 def dropfile(self, f, *args, **kwargs):
697 self._rustmap.copymap().pop(f, None)
698 self._rustmap.dropfile(f, *args, **kwargs)
699 694
700 def clearambiguoustimes(self, *args, **kwargs): 695 def clearambiguoustimes(self, *args, **kwargs):
701 return self._rustmap.clearambiguoustimes(*args, **kwargs) 696 return self._rustmap.clearambiguoustimes(*args, **kwargs)
702 697
703 def nonnormalentries(self): 698 def nonnormalentries(self):