# HG changeset patch # User Yuya Nishihara # Date 1435842186 -32400 # Node ID 3dabc9b7494a04c5f51df2a9cdb4f441f548e047 # Parent 04d26a3c96fde55fec1a6c290412075b664281d6 changeset_printer: use node.wdirrev to calculate meaningful parentrevs Because we defined the working-directory revision is INT_MAX, it makes sense that "hg log -r 'wdir()'" displays the "parent:" field. This is the same for two revisions that are semantically contiguous but the intermediate revisions are hidden. diff -r 04d26a3c96fd -r 3dabc9b7494a mercurial/cmdutil.py --- a/mercurial/cmdutil.py Mon Jun 22 22:05:10 2015 +0900 +++ b/mercurial/cmdutil.py Thu Jul 02 22:03:06 2015 +0900 @@ -1272,7 +1272,7 @@ return parents if self.ui.debugflag: return [parents[0], self.repo['null']] - if parents[0].rev() >= scmutil.intrev(self.repo, ctx.rev()) - 1: + if parents[0].rev() >= scmutil.intrev(ctx.rev()) - 1: return [] return parents diff -r 04d26a3c96fd -r 3dabc9b7494a mercurial/scmutil.py --- a/mercurial/scmutil.py Mon Jun 22 22:05:10 2015 +0900 +++ b/mercurial/scmutil.py Thu Jul 02 22:03:06 2015 +0900 @@ -6,7 +6,7 @@ # GNU General Public License version 2 or any later version. from i18n import _ -from mercurial.node import nullrev +from mercurial.node import nullrev, wdirrev import util, error, osutil, revset, similar, encoding, phases import pathutil import match as matchmod @@ -662,11 +662,11 @@ _rcpath = osrcpath() return _rcpath -def intrev(repo, rev): +def intrev(rev): """Return integer for a given revision that can be used in comparison or arithmetic operation""" if rev is None: - return len(repo) + return wdirrev return rev def revsingle(repo, revspec, default='.'): diff -r 04d26a3c96fd -r 3dabc9b7494a tests/test-log.t --- a/tests/test-log.t Mon Jun 22 22:05:10 2015 +0900 +++ b/tests/test-log.t Thu Jul 02 22:03:06 2015 +0900 @@ -1627,6 +1627,7 @@ $ hg log -r 'wdir()' changeset: 0:65624cd9070a+ + parent: 0:65624cd9070a user: test date: [A-Za-z0-9:+ ]+ (re)