mercurial/localrepo.py
changeset 5317 ef65d6ec114e
parent 5244 dee573ba79f1
child 5319 46455285c6b5
equal deleted inserted replaced
5314:598dae804a5f 5317:ef65d6ec114e
  1003                 self.ui.warn(_("%s not tracked!\n") % f)
  1003                 self.ui.warn(_("%s not tracked!\n") % f)
  1004             else:
  1004             else:
  1005                 self.dirstate.update([f], "r")
  1005                 self.dirstate.update([f], "r")
  1006 
  1006 
  1007     def undelete(self, list, wlock=None):
  1007     def undelete(self, list, wlock=None):
  1008         p = self.dirstate.parents()[0]
  1008         manifests = [self.manifest.read(self.changelog.read(p)[0])
  1009         mn = self.changelog.read(p)[0]
  1009                      for p in self.dirstate.parents() if p != nullid]
  1010         m = self.manifest.read(mn)
       
  1011         if not wlock:
  1010         if not wlock:
  1012             wlock = self.wlock()
  1011             wlock = self.wlock()
  1013         for f in list:
  1012         for f in list:
  1014             if self.dirstate.state(f) not in  "r":
  1013             if self.dirstate.state(f) not in  "r":
  1015                 self.ui.warn("%s not removed!\n" % f)
  1014                 self.ui.warn("%s not removed!\n" % f)
  1016             else:
  1015             else:
       
  1016                 m = f in manifests[0] and manifests[0] or manifests[1]
  1017                 t = self.file(f).read(m[f])
  1017                 t = self.file(f).read(m[f])
  1018                 self.wwrite(f, t, m.flags(f))
  1018                 self.wwrite(f, t, m.flags(f))
  1019                 self.dirstate.update([f], "n")
  1019                 self.dirstate.update([f], "n")
  1020 
  1020 
  1021     def copy(self, source, dest, wlock=None):
  1021     def copy(self, source, dest, wlock=None):