[PATCH 5 of 9] patch.diffopts: break get function into if statements

Siddharth Agarwal sid0 at fb.com
Thu Nov 13 02:22:13 CST 2014


# HG changeset patch
# User Siddharth Agarwal <sid0 at fb.com>
# Date 1415864657 28800
#      Wed Nov 12 23:44:17 2014 -0800
# Node ID dc2873c221516113721e604564e7832befbd91ee
# Parent  7448e2dc8b9141202eeafa310b74d3b2e3d1c882
patch.diffopts: break get function into if statements

We're going to add another condition here, and with the current structure that
becomes just too confusing.

diff --git a/mercurial/patch.py b/mercurial/patch.py
--- a/mercurial/patch.py
+++ b/mercurial/patch.py
@@ -1559,10 +1559,13 @@
     pass
 
 def diffopts(ui, opts=None, untrusted=False, section='diff'):
-    def get(key, name=None, getter=ui.configbool, forceplain=False):
-        return ((opts and opts.get(key)) or
-                (ui.plain() and forceplain) or
-                getter(section, name or key, None, untrusted=untrusted))
+    def get(key, name=None, getter=ui.configbool, forceplain=None):
+        if opts:
+            v = opts.get(key)
+            if v:
+                return v
+        return getter(section, name or key, None, untrusted=untrusted)
+
     return mdiff.diffopts(
         text=opts and opts.get('text'),
         git=get('git'),


More information about the Mercurial-devel mailing list