changeset_printer: move _meaningful_parentrevs() to scmutil
It will be used by templatekw.
--- 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.'''