mercurial/localrepo.py
changeset 5319 46455285c6b5
parent 5269 a0229e4e4b73
parent 5317 ef65d6ec114e
child 5370 61462e7d62ed
equal deleted inserted replaced
5316:121816063b9a 5319:46455285c6b5
  1043             del wlock
  1043             del wlock
  1044 
  1044 
  1045     def undelete(self, list):
  1045     def undelete(self, list):
  1046         wlock = None
  1046         wlock = None
  1047         try:
  1047         try:
  1048             p = self.dirstate.parents()[0]
  1048             manifests = [self.manifest.read(self.changelog.read(p)[0])
  1049             mn = self.changelog.read(p)[0]
  1049                          for p in self.dirstate.parents() if p != nullid]
  1050             m = self.manifest.read(mn)
       
  1051             wlock = self.wlock()
  1050             wlock = self.wlock()
  1052             for f in list:
  1051             for f in list:
  1053                 if self.dirstate[f] != 'r':
  1052                 if self.dirstate[f] != 'r':
  1054                     self.ui.warn("%s not removed!\n" % f)
  1053                     self.ui.warn("%s not removed!\n" % f)
  1055                 else:
  1054                 else:
       
  1055                     m = f in manifests[0] and manifests[0] or manifests[1]
  1056                     t = self.file(f).read(m[f])
  1056                     t = self.file(f).read(m[f])
  1057                     self.wwrite(f, t, m.flags(f))
  1057                     self.wwrite(f, t, m.flags(f))
  1058                     self.dirstate.normal(f)
  1058                     self.dirstate.normal(f)
  1059         finally:
  1059         finally:
  1060             del wlock
  1060             del wlock