checkunresolved: move to new package to help avoid import cycles
authorAugie Fackler <augie@google.com>
Mon, 21 Nov 2016 21:31:45 -0500
changeset 30494 c1149533676b
parent 30493 762c8a128357
child 30495 d528ddc11b33
checkunresolved: move to new package to help avoid import cycles This will allow localrepo to stop using cmdutil, which should avoid some future import cycles. There's room for an adventurous soul to delve deeper into merge.py and figure out how to disentangle more of it - it appears to be a nexus of cycle problems. Some of it might be able to move into this new mergeutil package.
mercurial/cmdutil.py
mercurial/mergeutil.py
--- a/mercurial/cmdutil.py	Mon Nov 21 21:16:54 2016 -0500
+++ b/mercurial/cmdutil.py	Mon Nov 21 21:31:45 2016 -0500
@@ -34,6 +34,7 @@
     graphmod,
     lock as lockmod,
     match as matchmod,
+    mergeutil,
     obsolete,
     patch,
     pathutil,
@@ -3407,13 +3408,7 @@
 
     return cmd
 
-def checkunresolved(ms):
-    if list(ms.unresolved()):
-        raise error.Abort(_("unresolved merge conflicts "
-                            "(see 'hg help resolve')"))
-    if ms.mdstate() != 's' or list(ms.driverresolved()):
-        raise error.Abort(_('driver-resolved merge conflicts'),
-                          hint=_('run "hg resolve --all" to resolve'))
+checkunresolved = mergeutil.checkunresolved
 
 # a list of (ui, repo, otherpeer, opts, missing) functions called by
 # commands.outgoing.  "missing" is "missing" of the result of
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/mergeutil.py	Mon Nov 21 21:31:45 2016 -0500
@@ -0,0 +1,22 @@
+# mergeutil.py - help for merge processing in mercurial
+#
+# Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2 or any later version.
+
+from __future__ import absolute_import
+
+from .i18n import _
+
+from . import (
+    error,
+)
+
+def checkunresolved(ms):
+    if list(ms.unresolved()):
+        raise error.Abort(_("unresolved merge conflicts "
+                            "(see 'hg help resolve')"))
+    if ms.mdstate() != 's' or list(ms.driverresolved()):
+        raise error.Abort(_('driver-resolved merge conflicts'),
+                          hint=_('run "hg resolve --all" to resolve'))