# HG changeset patch # User Benoit Boissinot # Date 1138575726 -46800 # Node ID d529cdc0a3eec51d2859af4a9795f75a585a6d5c # Parent b2df93c56ac47c24c46e193c5afdc5a6f687c8a6 return a non-zero exit code when a merge failed diff -r b2df93c56ac4 -r d529cdc0a3ee 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 = {}