mercurial/localrepo.py
changeset 1663 d529cdc0a3ee
parent 1645 c6ffedc4f11b
child 1667 daff3ef0de8d
equal deleted inserted replaced
1660:b2df93c56ac4 1663:d529cdc0a3ee
  1381         pl = self.dirstate.parents()
  1381         pl = self.dirstate.parents()
  1382         if not force and pl[1] != nullid:
  1382         if not force and pl[1] != nullid:
  1383             self.ui.warn(_("aborting: outstanding uncommitted merges\n"))
  1383             self.ui.warn(_("aborting: outstanding uncommitted merges\n"))
  1384             return 1
  1384             return 1
  1385 
  1385 
       
  1386         err = False
       
  1387 
  1386         p1, p2 = pl[0], node
  1388         p1, p2 = pl[0], node
  1387         pa = self.changelog.ancestor(p1, p2)
  1389         pa = self.changelog.ancestor(p1, p2)
  1388         m1n = self.changelog.read(p1)[0]
  1390         m1n = self.changelog.read(p1)[0]
  1389         m2n = self.changelog.read(p2)[0]
  1391         m2n = self.changelog.read(p2)[0]
  1390         man = self.manifest.ancestor(m1n, m2n)
  1392         man = self.manifest.ancestor(m1n, m2n)
  1596         files = merge.keys()
  1598         files = merge.keys()
  1597         files.sort()
  1599         files.sort()
  1598         for f in files:
  1600         for f in files:
  1599             self.ui.status(_("merging %s\n") % f)
  1601             self.ui.status(_("merging %s\n") % f)
  1600             my, other, flag = merge[f]
  1602             my, other, flag = merge[f]
  1601             self.merge3(f, my, other)
  1603             ret = self.merge3(f, my, other)
       
  1604             if ret:
       
  1605                 err = True
  1602             util.set_exec(self.wjoin(f), flag)
  1606             util.set_exec(self.wjoin(f), flag)
  1603             if moddirstate:
  1607             if moddirstate:
  1604                 if branch_merge:
  1608                 if branch_merge:
  1605                     # We've done a branch merge, mark this file as merged
  1609                     # We've done a branch merge, mark this file as merged
  1606                     # so that we properly record the merger later
  1610                     # so that we properly record the merger later
  1629             else:
  1633             else:
  1630                 self.dirstate.forget(remove)
  1634                 self.dirstate.forget(remove)
  1631 
  1635 
  1632         if moddirstate:
  1636         if moddirstate:
  1633             self.dirstate.setparents(p1, p2)
  1637             self.dirstate.setparents(p1, p2)
       
  1638         return err
  1634 
  1639 
  1635     def merge3(self, fn, my, other):
  1640     def merge3(self, fn, my, other):
  1636         """perform a 3-way merge in the working directory"""
  1641         """perform a 3-way merge in the working directory"""
  1637 
  1642 
  1638         def temp(prefix, node):
  1643         def temp(prefix, node):
  1659         if r:
  1664         if r:
  1660             self.ui.warn(_("merging %s failed!\n") % fn)
  1665             self.ui.warn(_("merging %s failed!\n") % fn)
  1661 
  1666 
  1662         os.unlink(b)
  1667         os.unlink(b)
  1663         os.unlink(c)
  1668         os.unlink(c)
       
  1669         return r
  1664 
  1670 
  1665     def verify(self):
  1671     def verify(self):
  1666         filelinkrevs = {}
  1672         filelinkrevs = {}
  1667         filenodes = {}
  1673         filenodes = {}
  1668         changesets = revisions = files = 0
  1674         changesets = revisions = files = 0