diff mercurial/localrepo.py @ 5319:46455285c6b5

Merge with crew-stable
author Patrick Mezard <pmezard@gmail.com>
date Sun, 23 Sep 2007 15:29:58 +0200
parents a0229e4e4b73 ef65d6ec114e
children 61462e7d62ed
line wrap: on
line diff
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1045,14 +1045,14 @@ class localrepository(repo.repository):
     def undelete(self, list):
         wlock = None
         try:
-            p = self.dirstate.parents()[0]
-            mn = self.changelog.read(p)[0]
-            m = self.manifest.read(mn)
+            manifests = [self.manifest.read(self.changelog.read(p)[0])
+                         for p in self.dirstate.parents() if p != nullid]
             wlock = self.wlock()
             for f in list:
                 if self.dirstate[f] != 'r':
                     self.ui.warn("%s not removed!\n" % f)
                 else:
+                    m = f in manifests[0] and manifests[0] or manifests[1]
                     t = self.file(f).read(m[f])
                     self.wwrite(f, t, m.flags(f))
                     self.dirstate.normal(f)