hgext/fastannotate/support.py
changeset 43076 2372284d9457
parent 41365 876494fd967d
child 43077 687b865b95ad
--- a/hgext/fastannotate/support.py	Sat Oct 05 10:29:34 2019 -0400
+++ b/hgext/fastannotate/support.py	Sun Oct 06 09:45:02 2019 -0400
@@ -21,6 +21,7 @@
     revmap,
 )
 
+
 class _lazyfctx(object):
     """delegates to fctx but do not construct fctx when unnecessary"""
 
@@ -42,6 +43,7 @@
     def __getattr__(self, name):
         return getattr(self._fctx, name)
 
+
 def _convertoutputs(repo, annotated, contents):
     """convert fastannotate outputs to vanilla annotate format"""
     # fastannotate returns: [(nodeid, linenum, path)], [linecontent]
@@ -59,10 +61,12 @@
         results.append(annotateline(fctx=fctx, lineno=lineno, text=line))
     return results
 
+
 def _getmaster(fctx):
     """(fctx) -> str"""
     return fctx._repo.ui.config('fastannotate', 'mainbranch') or 'default'
 
+
 def _doannotate(fctx, follow=True, diffopts=None):
     """like the vanilla fctx.annotate, but do it via fastannotate, and make
     the output format compatible with the vanilla fctx.annotate.
@@ -73,49 +77,61 @@
 
     with context.fctxannotatecontext(fctx, follow, diffopts) as ac:
         try:
-            annotated, contents = ac.annotate(fctx.rev(), master=master,
-                                              showpath=True, showlines=True)
+            annotated, contents = ac.annotate(
+                fctx.rev(), master=master, showpath=True, showlines=True
+            )
         except Exception:
-            ac.rebuild() # try rebuild once
-            fctx._repo.ui.debug('fastannotate: %s: rebuilding broken cache\n'
-                                % fctx._path)
+            ac.rebuild()  # try rebuild once
+            fctx._repo.ui.debug(
+                'fastannotate: %s: rebuilding broken cache\n' % fctx._path
+            )
             try:
-                annotated, contents = ac.annotate(fctx.rev(), master=master,
-                                                  showpath=True, showlines=True)
+                annotated, contents = ac.annotate(
+                    fctx.rev(), master=master, showpath=True, showlines=True
+                )
             except Exception:
                 raise
 
     assert annotated and contents
     return _convertoutputs(fctx._repo, annotated, contents)
 
+
 def _hgwebannotate(orig, fctx, ui):
-    diffopts = patch.difffeatureopts(ui, untrusted=True,
-                                     section='annotate', whitespace=True)
+    diffopts = patch.difffeatureopts(
+        ui, untrusted=True, section='annotate', whitespace=True
+    )
     return _doannotate(fctx, diffopts=diffopts)
 
-def _fctxannotate(orig, self, follow=False, linenumber=False, skiprevs=None,
-                  diffopts=None):
+
+def _fctxannotate(
+    orig, self, follow=False, linenumber=False, skiprevs=None, diffopts=None
+):
     if skiprevs:
         # skiprevs is not supported yet
-        return orig(self, follow, linenumber, skiprevs=skiprevs,
-                    diffopts=diffopts)
+        return orig(
+            self, follow, linenumber, skiprevs=skiprevs, diffopts=diffopts
+        )
     try:
         return _doannotate(self, follow, diffopts)
     except Exception as ex:
-        self._repo.ui.debug('fastannotate: falling back to the vanilla '
-                            'annotate: %r\n' % ex)
-        return orig(self, follow=follow, skiprevs=skiprevs,
-                    diffopts=diffopts)
+        self._repo.ui.debug(
+            'fastannotate: falling back to the vanilla ' 'annotate: %r\n' % ex
+        )
+        return orig(self, follow=follow, skiprevs=skiprevs, diffopts=diffopts)
+
 
 def _remotefctxannotate(orig, self, follow=False, skiprevs=None, diffopts=None):
     # skipset: a set-like used to test if a fctx needs to be downloaded
     with context.fctxannotatecontext(self, follow, diffopts) as ac:
         skipset = revmap.revmap(ac.revmappath)
-    return orig(self, follow, skiprevs=skiprevs, diffopts=diffopts,
-                prefetchskip=skipset)
+    return orig(
+        self, follow, skiprevs=skiprevs, diffopts=diffopts, prefetchskip=skipset
+    )
+
 
 def replacehgwebannotate():
     extensions.wrapfunction(hgweb.webutil, 'annotate', _hgwebannotate)
 
+
 def replacefctxannotate():
     extensions.wrapfunction(hgcontext.basefilectx, 'annotate', _fctxannotate)