return a non-zero exit code when a merge failed
authorBenoit Boissinot <benoit.boissinot@ens-lyon.org>
Mon, 30 Jan 2006 12:02:06 +1300
changeset 1663 d529cdc0a3ee
parent 1660 b2df93c56ac4
child 1664 4338e33c973b
return a non-zero exit code when a merge failed
mercurial/localrepo.py
--- a/mercurial/localrepo.py	Sun Jan 29 20:30:41 2006 +1300
+++ b/mercurial/localrepo.py	Mon Jan 30 12:02:06 2006 +1300
@@ -1383,6 +1383,8 @@
             self.ui.warn(_("aborting: outstanding uncommitted merges\n"))
             return 1
 
+        err = False
+
         p1, p2 = pl[0], node
         pa = self.changelog.ancestor(p1, p2)
         m1n = self.changelog.read(p1)[0]
@@ -1598,7 +1600,9 @@
         for f in files:
             self.ui.status(_("merging %s\n") % f)
             my, other, flag = merge[f]
-            self.merge3(f, my, other)
+            ret = self.merge3(f, my, other)
+            if ret:
+                err = True
             util.set_exec(self.wjoin(f), flag)
             if moddirstate:
                 if branch_merge:
@@ -1631,6 +1635,7 @@
 
         if moddirstate:
             self.dirstate.setparents(p1, p2)
+        return err
 
     def merge3(self, fn, my, other):
         """perform a 3-way merge in the working directory"""
@@ -1661,6 +1666,7 @@
 
         os.unlink(b)
         os.unlink(c)
+        return r
 
     def verify(self):
         filelinkrevs = {}