mercurial/localrepo.py
changeset 1922 6d50d6189269
parent 1893 6569651a4f1e
child 1938 36c6e4c3ff43
equal deleted inserted replaced
1921:acce3f7e1779 1922:6d50d6189269
  1632                     self.dirstate.update([f], 'n', st_mtime=-1)
  1632                     self.dirstate.update([f], 'n', st_mtime=-1)
  1633                 else:
  1633                 else:
  1634                     self.dirstate.update([f], 'n')
  1634                     self.dirstate.update([f], 'n')
  1635 
  1635 
  1636         # merge the tricky bits
  1636         # merge the tricky bits
       
  1637         failedmerge = []
  1637         files = merge.keys()
  1638         files = merge.keys()
  1638         files.sort()
  1639         files.sort()
  1639         xp1 = hex(p1)
  1640         xp1 = hex(p1)
  1640         xp2 = hex(p2)
  1641         xp2 = hex(p2)
  1641         for f in files:
  1642         for f in files:
  1642             self.ui.status(_("merging %s\n") % f)
  1643             self.ui.status(_("merging %s\n") % f)
  1643             my, other, flag = merge[f]
  1644             my, other, flag = merge[f]
  1644             ret = self.merge3(f, my, other, xp1, xp2)
  1645             ret = self.merge3(f, my, other, xp1, xp2)
  1645             if ret:
  1646             if ret:
  1646                 err = True
  1647                 err = True
       
  1648                 failedmerge.append(f)
  1647             util.set_exec(self.wjoin(f), flag)
  1649             util.set_exec(self.wjoin(f), flag)
  1648             if moddirstate:
  1650             if moddirstate:
  1649                 if branch_merge:
  1651                 if branch_merge:
  1650                     # We've done a branch merge, mark this file as merged
  1652                     # We've done a branch merge, mark this file as merged
  1651                     # so that we properly record the merger later
  1653                     # so that we properly record the merger later
  1675             else:
  1677             else:
  1676                 self.dirstate.forget(remove)
  1678                 self.dirstate.forget(remove)
  1677 
  1679 
  1678         if moddirstate:
  1680         if moddirstate:
  1679             self.dirstate.setparents(p1, p2)
  1681             self.dirstate.setparents(p1, p2)
       
  1682 
       
  1683         stat = ((len(get), _("updated")),
       
  1684                 (len(merge) - len(failedmerge), _("merged")),
       
  1685                 (len(remove), _("removed")),
       
  1686                 (len(failedmerge), _("unresolved")))
       
  1687         note = ", ".join([_("%d files %s") % s for s in stat])
       
  1688         self.ui.note("%s\n" % note)
       
  1689         if moddirstate and branch_merge:
       
  1690             self.ui.note(_("(branch merge, don't forget to commit)\n"))
       
  1691 
  1680         return err
  1692         return err
  1681 
  1693 
  1682     def merge3(self, fn, my, other, p1, p2):
  1694     def merge3(self, fn, my, other, p1, p2):
  1683         """perform a 3-way merge in the working directory"""
  1695         """perform a 3-way merge in the working directory"""
  1684 
  1696