diff --git a/mercurial/merge.py b/mercurial/merge.py
index c9223a3979b70ebdfead832942f5862fb24a96a7_bWVyY3VyaWFsL21lcmdlLnB5..2f1fce0d4e860b834ce1726f145d35f5783b69db_bWVyY3VyaWFsL21lcmdlLnB5 100644
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -290,7 +290,7 @@
     def _resolve(self, dfile, wctx, labels=None):
         """rerun merge process for file path `dfile`"""
         if self[dfile] == 'r':
-            return 0
+            return True, 0
         stateentry = self._state[dfile]
         state, hash, lfile, afile, anode, ofile, onode, flags = stateentry
         octx = self._repo[self._other]
@@ -321,7 +321,7 @@
             self._dirty = True
         elif not r:
             self.mark(dfile, 'r')
-        return r
+        return complete, r
 
     def resolve(self, dfile, wctx, labels=None):
         """rerun merge process for file path `dfile`"""
@@ -325,7 +325,7 @@
 
     def resolve(self, dfile, wctx, labels=None):
         """rerun merge process for file path `dfile`"""
-        return self._resolve(dfile, wctx, labels=labels)
+        return self._resolve(dfile, wctx, labels=labels)[1]
 
 def _checkunknownfile(repo, wctx, mctx, f, f2=None):
     if f2 is None: