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.
--- 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
--- 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='.'):
--- 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)