[PATCH 5 of 5 changedelete] merge.mergestate: return dirstate action from _resolve

Siddharth Agarwal sid0 at fb.com
Thu Nov 5 02:12:02 CST 2015


# HG changeset patch
# User Siddharth Agarwal <sid0 at fb.com>
# Date 1446709713 28800
#      Wed Nov 04 23:48:33 2015 -0800
# Node ID 5e2a93a9bba03526616f70e62298c8007a1da12b
# Parent  7514e2e35e70661a7783668cf9cddd949ab9cd76
merge.mergestate: return dirstate action from _resolve

In upcoming patches we're going to handle these actions at the preresolve and
resolve layers.

diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -359,7 +359,7 @@ class mergestate(object):
     def _resolve(self, preresolve, dfile, wctx, labels=None):
         """rerun merge process for file path `dfile`"""
         if self[dfile] in 'rd':
-            return True, 0
+            return True, 0, None
         stateentry = self._state[dfile]
         state, hash, lfile, afile, anode, ofile, onode, flags = stateentry
         octx = self._repo[self._other]
@@ -394,19 +394,21 @@ class mergestate(object):
             self._dirty = True
         elif not r:
             self.mark(dfile, 'r')
-        return complete, r
+        return complete, r, action
 
     def preresolve(self, dfile, wctx, labels=None):
         """run premerge process for dfile
 
         Returns whether the merge is complete, and the exit code."""
-        return self._resolve(True, dfile, wctx, labels=labels)
+        complete, r, action = self._resolve(True, dfile, wctx, labels=labels)
+        return complete, r
 
     def resolve(self, dfile, wctx, labels=None):
         """run merge process (assuming premerge was run) for dfile
 
         Returns the exit code of the merge."""
-        return self._resolve(False, dfile, wctx, labels=labels)[1]
+        complete, r, action = self._resolve(False, dfile, wctx, labels=labels)
+        return r
 
 def _checkunknownfile(repo, wctx, mctx, f, f2=None):
     if f2 is None:


More information about the Mercurial-devel mailing list