mercurial/dirstatemap.py
changeset 47998 938a7769050c
parent 47997 70547a7d5930
child 48003 5e7eea915019
equal deleted inserted replaced
47997:70547a7d5930 47998:938a7769050c
   178         self.nonnormalset.discard(filename)
   178         self.nonnormalset.discard(filename)
   179 
   179 
   180     def reset_state(
   180     def reset_state(
   181         self,
   181         self,
   182         filename,
   182         filename,
   183         wc_tracked,
   183         wc_tracked=False,
   184         p1_tracked,
   184         p1_tracked=False,
   185         p2_tracked=False,
   185         p2_tracked=False,
   186         merged=False,
   186         merged=False,
   187         clean_p1=False,
   187         clean_p1=False,
   188         clean_p2=False,
   188         clean_p2=False,
   189         possibly_dirty=False,
   189         possibly_dirty=False,
   204         # copy information are now outdated
   204         # copy information are now outdated
   205         # (maybe new information should be in directly passed to this function)
   205         # (maybe new information should be in directly passed to this function)
   206         self.copymap.pop(filename, None)
   206         self.copymap.pop(filename, None)
   207 
   207 
   208         if not (p1_tracked or p2_tracked or wc_tracked):
   208         if not (p1_tracked or p2_tracked or wc_tracked):
   209             self.dropfile(filename)
   209             old_entry = self._map.pop(filename, None)
       
   210             self._dirs_decr(filename, old_entry=old_entry)
       
   211             self.nonnormalset.discard(filename)
       
   212             self.copymap.pop(filename, None)
   210             return
   213             return
   211         elif merged:
   214         elif merged:
   212             # XXX might be merged and removed ?
   215             # XXX might be merged and removed ?
   213             entry = self.get(filename)
   216             entry = self.get(filename)
   214             if entry is None or not entry.tracked:
   217             if entry is None or not entry.tracked:
   574             return ret
   577             return ret
   575 
   578 
   576         def reset_state(
   579         def reset_state(
   577             self,
   580             self,
   578             filename,
   581             filename,
   579             wc_tracked,
   582             wc_tracked=False,
   580             p1_tracked,
   583             p1_tracked=False,
   581             p2_tracked=False,
   584             p2_tracked=False,
   582             merged=False,
   585             merged=False,
   583             clean_p1=False,
   586             clean_p1=False,
   584             clean_p2=False,
   587             clean_p2=False,
   585             possibly_dirty=False,
   588             possibly_dirty=False,