mercurial/context.py
changeset 23404 b913c394386f
parent 23305 0cc283f44655
parent 23402 2963d5c9d90b
child 23410 cd9e5e57064d
equal deleted inserted replaced
23399:fd5247a88e63 23404:b913c394386f
  1035 
  1035 
  1036     @propertycache
  1036     @propertycache
  1037     def _manifest(self):
  1037     def _manifest(self):
  1038         """generate a manifest corresponding to the values in self._status"""
  1038         """generate a manifest corresponding to the values in self._status"""
  1039 
  1039 
  1040         man = self._parents[0].manifest().copy()
  1040         man1 = self._parents[0].manifest()
       
  1041         man = man1.copy()
  1041         if len(self._parents) > 1:
  1042         if len(self._parents) > 1:
  1042             man2 = self.p2().manifest()
  1043             man2 = self.p2().manifest()
  1043             def getman(f):
  1044             def getman(f):
  1044                 if f in man:
  1045                 if f in man1:
  1045                     return man
  1046                     return man1
  1046                 return man2
  1047                 return man2
  1047         else:
  1048         else:
  1048             getman = lambda f: man
  1049             getman = lambda f: man1
  1049 
  1050 
  1050         copied = self._repo.dirstate.copies()
  1051         copied = self._repo.dirstate.copies()
  1051         ff = self._flagfunc
  1052         ff = self._flagfunc
  1052         for i, l in (("a", self._status.added), ("m", self._status.modified)):
  1053         for i, l in (("a", self._status.added), ("m", self._status.modified)):
  1053             for f in l:
  1054             for f in l:
  1308             self._repo.ui.warn(_("copy failed: %s is not a file or a "
  1309             self._repo.ui.warn(_("copy failed: %s is not a file or a "
  1309                                  "symbolic link\n") % dest)
  1310                                  "symbolic link\n") % dest)
  1310         else:
  1311         else:
  1311             wlock = self._repo.wlock()
  1312             wlock = self._repo.wlock()
  1312             try:
  1313             try:
  1313                 if self._repo.dirstate[dest] in '?r':
  1314                 if self._repo.dirstate[dest] in '?':
  1314                     self._repo.dirstate.add(dest)
  1315                     self._repo.dirstate.add(dest)
       
  1316                 elif self._repo.dirstate[dest] in 'r':
       
  1317                     self._repo.dirstate.normallookup(dest)
  1315                 self._repo.dirstate.copy(source, dest)
  1318                 self._repo.dirstate.copy(source, dest)
  1316             finally:
  1319             finally:
  1317                 wlock.release()
  1320                 wlock.release()
  1318 
  1321 
  1319     def _filtersuspectsymlink(self, files):
  1322     def _filtersuspectsymlink(self, files):