diff mercurial/merge.py @ 26611:a5ff66e6d77a

filemerge: break overall filemerge into separate premerge and merge steps This means that in ms.resolve we must call merge after calling premerge. This doesn't yet mean that all premerges happen before any merges -- however, this does get us closer to our goal. The output differences are because we recompute the merge tool. The only user-visible difference caused by this patch is that if the tool is missing we'll print the warning twice. Not a huge deal, though.
author Siddharth Agarwal <sid0@fb.com>
date Sun, 11 Oct 2015 20:47:14 -0700
parents 2a405d307f8c
children c9223a3979b7
line wrap: on
line diff
--- a/mercurial/merge.py	Sun Oct 11 20:04:40 2015 -0700
+++ b/mercurial/merge.py	Sun Oct 11 20:47:14 2015 -0700
@@ -310,8 +310,11 @@
         f = self._repo.vfs('merge/' + hash)
         self._repo.wwrite(dfile, f.read(), flags)
         f.close()
-        complete, r = filemerge.filemerge(self._repo, self._local, lfile, fcd,
-                                          fco, fca, labels=labels)
+        complete, r = filemerge.premerge(self._repo, self._local, lfile, fcd,
+                                         fco, fca, labels=labels)
+        if not complete:
+            complete, r = filemerge.filemerge(self._repo, self._local, lfile,
+                                              fcd, fco, fca, labels=labels)
         if r is None:
             # no real conflict
             del self._state[dfile]