Patchwork [3,of,6] logcmdutil: unindent diff generator of changesetprinter

login
register
mail settings
Submitter Yuya Nishihara
Date Feb. 7, 2018, 1:25 p.m.
Message ID <44e6702bf9cdef9d9df7.1518009904@mimosa>
Download mbox | patch
Permalink /patch/27424/
State Accepted
Headers show

Comments

Yuya Nishihara - Feb. 7, 2018, 1:25 p.m.
# HG changeset patch
# User Yuya Nishihara <yuya@tcha.org>
# Date 1516513024 -32400
#      Sun Jan 21 14:37:04 2018 +0900
# Node ID 44e6702bf9cdef9d9df717b8632c1ba5a213b797
# Parent  fa4427fe64617b5822c383f8dfdf6704d16fe01f
logcmdutil: unindent diff generator of changesetprinter

Prepares for the next few patches which will make matchfn and hunksfilterfn
always available.

Patch

diff --git a/mercurial/logcmdutil.py b/mercurial/logcmdutil.py
--- a/mercurial/logcmdutil.py
+++ b/mercurial/logcmdutil.py
@@ -269,24 +269,25 @@  class changesetprinter(object):
     def _showpatch(self, ctx):
         matchfn = self._makefilematcher(ctx)
         hunksfilterfn = self._makehunksfilter(ctx)
-        if matchfn:
-            stat = self.diffopts.get('stat')
-            diff = self.diffopts.get('patch')
-            diffopts = patch.diffallopts(self.ui, self.diffopts)
-            node = ctx.node()
-            prev = ctx.p1().node()
-            if stat:
-                diffordiffstat(self.ui, self.repo, diffopts, prev, node,
-                               match=matchfn, stat=True,
-                               hunksfilterfn=hunksfilterfn)
-            if diff:
-                if stat:
-                    self.ui.write("\n")
-                diffordiffstat(self.ui, self.repo, diffopts, prev, node,
-                               match=matchfn, stat=False,
-                               hunksfilterfn=hunksfilterfn)
-            if stat or diff:
-                self.ui.write("\n")
+        if not matchfn:
+            return
+        stat = self.diffopts.get('stat')
+        diff = self.diffopts.get('patch')
+        diffopts = patch.diffallopts(self.ui, self.diffopts)
+        node = ctx.node()
+        prev = ctx.p1().node()
+        if stat:
+            diffordiffstat(self.ui, self.repo, diffopts, prev, node,
+                           match=matchfn, stat=True,
+                           hunksfilterfn=hunksfilterfn)
+        if stat and diff:
+            self.ui.write("\n")
+        if diff:
+            diffordiffstat(self.ui, self.repo, diffopts, prev, node,
+                           match=matchfn, stat=False,
+                           hunksfilterfn=hunksfilterfn)
+        if stat or diff:
+            self.ui.write("\n")
 
 class jsonchangeset(changesetprinter):
     '''format changeset information.'''
@@ -370,22 +371,21 @@  class jsonchangeset(changesetprinter):
                                                         for k, v in copies))
 
         matchfn = self._makefilematcher(ctx)
-        if matchfn:
-            stat = self.diffopts.get('stat')
-            diff = self.diffopts.get('patch')
-            diffopts = patch.difffeatureopts(self.ui, self.diffopts, git=True)
-            node, prev = ctx.node(), ctx.p1().node()
-            if stat:
-                self.ui.pushbuffer()
-                diffordiffstat(self.ui, self.repo, diffopts, prev, node,
-                               match=matchfn, stat=True)
-                self.ui.write((',\n  "diffstat": "%s"')
-                              % j(self.ui.popbuffer()))
-            if diff:
-                self.ui.pushbuffer()
-                diffordiffstat(self.ui, self.repo, diffopts, prev, node,
-                               match=matchfn, stat=False)
-                self.ui.write((',\n  "diff": "%s"') % j(self.ui.popbuffer()))
+        stat = self.diffopts.get('stat')
+        diff = self.diffopts.get('patch')
+        diffopts = patch.difffeatureopts(self.ui, self.diffopts, git=True)
+        node, prev = ctx.node(), ctx.p1().node()
+        if matchfn and stat:
+            self.ui.pushbuffer()
+            diffordiffstat(self.ui, self.repo, diffopts, prev, node,
+                           match=matchfn, stat=True)
+            self.ui.write((',\n  "diffstat": "%s"')
+                          % j(self.ui.popbuffer()))
+        if matchfn and diff:
+            self.ui.pushbuffer()
+            diffordiffstat(self.ui, self.repo, diffopts, prev, node,
+                           match=matchfn, stat=False)
+            self.ui.write((',\n  "diff": "%s"') % j(self.ui.popbuffer()))
 
         self.ui.write("\n }")