mercurial/localrepo.py
changeset 2175 b2ae81a7df29
parent 2167 f5c2c6e69fd7
child 2190 b67fcd91dd1b
equal deleted inserted replaced
2174:3044a3fdae76 2175:b2ae81a7df29
  1538                 self.hook("incoming", node=hex(self.changelog.node(i)))
  1538                 self.hook("incoming", node=hex(self.changelog.node(i)))
  1539 
  1539 
  1540         return newheads - oldheads + 1
  1540         return newheads - oldheads + 1
  1541 
  1541 
  1542     def update(self, node, allow=False, force=False, choose=None,
  1542     def update(self, node, allow=False, force=False, choose=None,
  1543                moddirstate=True, forcemerge=False, wlock=None):
  1543                moddirstate=True, forcemerge=False, wlock=None, show_stats=True):
  1544         pl = self.dirstate.parents()
  1544         pl = self.dirstate.parents()
  1545         if not force and pl[1] != nullid:
  1545         if not force and pl[1] != nullid:
  1546             self.ui.warn(_("aborting: outstanding uncommitted merges\n"))
  1546             self.ui.warn(_("aborting: outstanding uncommitted merges\n"))
  1547             return 1
  1547             return 1
  1548 
  1548 
  1806                 self.dirstate.forget(remove)
  1806                 self.dirstate.forget(remove)
  1807 
  1807 
  1808         if moddirstate:
  1808         if moddirstate:
  1809             self.dirstate.setparents(p1, p2)
  1809             self.dirstate.setparents(p1, p2)
  1810 
  1810 
  1811         stat = ((len(get), _("updated")),
  1811         if show_stats:
  1812                 (len(merge) - len(failedmerge), _("merged")),
  1812             stats = ((len(get), _("updated")),
  1813                 (len(remove), _("removed")),
  1813                      (len(merge) - len(failedmerge), _("merged")),
  1814                 (len(failedmerge), _("unresolved")))
  1814                      (len(remove), _("removed")),
  1815         note = ", ".join([_("%d files %s") % s for s in stat])
  1815                      (len(failedmerge), _("unresolved")))
  1816         self.ui.note("%s\n" % note)
  1816             note = ", ".join([_("%d files %s") % s for s in stats])
  1817         if moddirstate and branch_merge:
  1817             self.ui.status("%s\n" % note)
  1818             self.ui.note(_("(branch merge, don't forget to commit)\n"))
  1818         if moddirstate:
       
  1819             if branch_merge:
       
  1820                 if failedmerge:
       
  1821                     self.ui.status(_("There are unresolved merges,"
       
  1822                                     " you can redo the full merge using:\n"
       
  1823                                     "  hg update -C %s\n"
       
  1824                                     "  hg merge %s\n"
       
  1825                                     % (self.changelog.rev(p1),
       
  1826                                         self.changelog.rev(p2))))
       
  1827                 else:
       
  1828                     self.ui.status(_("(branch merge, don't forget to commit)\n"))
       
  1829             elif failedmerge:
       
  1830                 self.ui.status(_("There are unresolved merges with"
       
  1831                                  " locally modified files.\n"))
  1819 
  1832 
  1820         return err
  1833         return err
  1821 
  1834 
  1822     def merge3(self, fn, my, other, p1, p2):
  1835     def merge3(self, fn, my, other, p1, p2):
  1823         """perform a 3-way merge in the working directory"""
  1836         """perform a 3-way merge in the working directory"""