Patchwork D371: simplemerge: extract verifytext as a helper function

login
register
mail settings
Submitter phabricator
Date Aug. 14, 2017, 6:15 a.m.
Message ID <differential-rev-PHID-DREV-jvaijexnepyvqn2mrwgj-req@phab.mercurial-scm.org>
Download mbox | patch
Permalink /patch/22953/
State Superseded
Headers show

Comments

phabricator - Aug. 14, 2017, 6:15 a.m.
phillco created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This will be used in a subsequent commit.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D371

AFFECTED FILES
  mercurial/simplemerge.py

CHANGE DETAILS




To: phillco, #hg-reviewers
Cc: mercurial-devel
phabricator - Aug. 14, 2017, 6:22 a.m.
phillco added a comment.


  This stack isn't particular complicated; it's just that changing simplemerge to go from files to contexts, with small commits and working intermediate commits, requires some jumping around.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D371

To: phillco, #hg-reviewers, smf
Cc: mercurial-devel

Patch

diff --git a/mercurial/simplemerge.py b/mercurial/simplemerge.py
--- a/mercurial/simplemerge.py
+++ b/mercurial/simplemerge.py
@@ -397,18 +397,23 @@ 
 
         return unc
 
+def _verifytext(text, path, ui, opts):
+    """verifies that text is non-binary (unless opts[text] is passed,
+    then we just warn)"""
+    if util.binary(text):
+        msg = _("%s looks like a binary file.") % path
+        if not opts.get('quiet'):
+            ui.warn(_('warning: %s\n') % msg)
+        if not opts.get('text'):
+            raise error.Abort(msg)
+    return text
+
 def simplemerge(ui, local, base, other, **opts):
     def readfile(filename):
         f = open(filename, "rb")
         text = f.read()
         f.close()
-        if util.binary(text):
-            msg = _("%s looks like a binary file.") % filename
-            if not opts.get('quiet'):
-                ui.warn(_('warning: %s\n') % msg)
-            if not opts.get('text'):
-                raise error.Abort(msg)
-        return text
+        return _verifytext(text, filename, ui, opts)
 
     mode = opts.get('mode','merge')
     if mode == 'union':