mercurial/patch.py
changeset 50044 e8c170a6571d
parent 49306 2e726c934fcd
child 50590 1c810421a82f
equal deleted inserted replaced
50043:5cfc48354d0f 50044:e8c170a6571d
   568         super(workingbackend, self).unlink(fname)
   568         super(workingbackend, self).unlink(fname)
   569         self.removed.add(fname)
   569         self.removed.add(fname)
   570         self.changed.add(fname)
   570         self.changed.add(fname)
   571 
   571 
   572     def close(self):
   572     def close(self):
   573         wctx = self.repo[None]
   573         with self.repo.dirstate.changing_files(self.repo):
   574         changed = set(self.changed)
   574             wctx = self.repo[None]
   575         for src, dst in self.copied:
   575             changed = set(self.changed)
   576             scmutil.dirstatecopy(self.ui, self.repo, wctx, src, dst)
   576             for src, dst in self.copied:
   577         if self.removed:
   577                 scmutil.dirstatecopy(self.ui, self.repo, wctx, src, dst)
   578             wctx.forget(sorted(self.removed))
   578             if self.removed:
   579             for f in self.removed:
   579                 wctx.forget(sorted(self.removed))
   580                 if f not in self.repo.dirstate:
   580                 for f in self.removed:
   581                     # File was deleted and no longer belongs to the
   581                     if f not in self.repo.dirstate:
   582                     # dirstate, it was probably marked added then
   582                         # File was deleted and no longer belongs to the
   583                     # deleted, and should not be considered by
   583                         # dirstate, it was probably marked added then
   584                     # marktouched().
   584                         # deleted, and should not be considered by
   585                     changed.discard(f)
   585                         # marktouched().
   586         if changed:
   586                         changed.discard(f)
   587             scmutil.marktouched(self.repo, changed, self.similarity)
   587             if changed:
   588         return sorted(self.changed)
   588                 scmutil.marktouched(self.repo, changed, self.similarity)
       
   589             return sorted(self.changed)
   589 
   590 
   590 
   591 
   591 class filestore:
   592 class filestore:
   592     def __init__(self, maxsize=None):
   593     def __init__(self, maxsize=None):
   593         self.opener = None
   594         self.opener = None