changeset_printer: move _meaningful_parentrevs() to scmutil
authorYuya Nishihara <yuya@tcha.org>
Sat, 26 Sep 2015 12:29:09 +0900
changeset 26433 3ad41638b4b4
parent 26432 39577d4520ab
child 26434 0a823de8d7b7
changeset_printer: move _meaningful_parentrevs() to scmutil It will be used by templatekw.
mercurial/cmdutil.py
mercurial/scmutil.py
--- a/mercurial/cmdutil.py	Thu Oct 01 22:14:11 2015 -0400
+++ b/mercurial/cmdutil.py	Sat Sep 26 12:29:09 2015 +0900
@@ -1195,7 +1195,7 @@
             # i18n: column positioning for "hg log"
             self.ui.write(_("phase:       %s\n") % ctx.phasestr(),
                           label='log.phase')
-        for pctx in self._meaningful_parentrevs(ctx):
+        for pctx in scmutil.meaningfulparents(self.repo, ctx):
             label = 'log.parent changeset.%s' % pctx.phasestr()
             # i18n: column positioning for "hg log"
             self.ui.write(_("parent:      %d:%s\n")
@@ -1279,22 +1279,6 @@
                                match=matchfn, stat=False)
             self.ui.write("\n")
 
-    def _meaningful_parentrevs(self, ctx):
-        """Return list of meaningful (or all if debug) parentrevs for rev.
-
-        For merges (two non-nullrev revisions) both parents are meaningful.
-        Otherwise the first parent revision is considered meaningful if it
-        is not the preceding revision.
-        """
-        parents = ctx.parents()
-        if len(parents) > 1:
-            return parents
-        if self.ui.debugflag:
-            return [parents[0], self.repo['null']]
-        if parents[0].rev() >= scmutil.intrev(ctx.rev()) - 1:
-            return []
-        return parents
-
 class jsonchangeset(changeset_printer):
     '''format changeset information.'''
 
@@ -1456,7 +1440,7 @@
             parents = [[('rev', p.rev()),
                         ('node', p.hex()),
                         ('phase', p.phasestr())]
-                       for p in self._meaningful_parentrevs(ctx)]
+                       for p in scmutil.meaningfulparents(self.repo, ctx)]
             return showlist('parent', parents, **args)
 
         props = props.copy()
--- a/mercurial/scmutil.py	Thu Oct 01 22:14:11 2015 -0400
+++ b/mercurial/scmutil.py	Sat Sep 26 12:29:09 2015 +0900
@@ -734,6 +734,22 @@
     m = revset.matchany(repo.ui, allspecs, repo)
     return m(repo)
 
+def meaningfulparents(repo, ctx):
+    """Return list of meaningful (or all if debug) parentrevs for rev.
+
+    For merges (two non-nullrev revisions) both parents are meaningful.
+    Otherwise the first parent revision is considered meaningful if it
+    is not the preceding revision.
+    """
+    parents = ctx.parents()
+    if len(parents) > 1:
+        return parents
+    if repo.ui.debugflag:
+        return [parents[0], repo['null']]
+    if parents[0].rev() >= intrev(ctx.rev()) - 1:
+        return []
+    return parents
+
 def expandpats(pats):
     '''Expand bare globs when running on windows.
     On posix we assume it already has already been done by sh.'''