diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -5,7 +5,7 @@ # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. -from node import hex, nullid, nullrev, short +from node import hex, bin, nullid, nullrev, short from i18n import _ import os, sys, errno, re, tempfile, cStringIO, shutil import util, scmutil, templater, patch, error, templatekw, revlog, copies @@ -1152,11 +1152,9 @@ class changeset_printer(object): hexfunc = hex else: hexfunc = short - if rev is None: - pctx = ctx.p1() - revnode = (pctx.rev(), hexfunc(pctx.node()) + '+') - else: - revnode = (rev, hexfunc(changenode)) + # as of now, wctx.node() and wctx.rev() return None, but we want to + # show the same values as {node} and {rev} templatekw + revnode = (scmutil.intrev(rev), hexfunc(bin(ctx.hex()))) if self.ui.quiet: self.ui.write("%d:%s\n" % revnode, label='log.node') diff --git a/tests/test-add.t b/tests/test-add.t --- a/tests/test-add.t +++ b/tests/test-add.t @@ -109,7 +109,7 @@ should fail wdir doesn't cause a crash, and can be dynamically selected if dirty $ hg log -r "heads(. or wdir() & file('**'))" - changeset: 2:*+ (glob) + changeset: 2147483647:ffffffffffff parent: 2:* (glob) parent: 1:* (glob) user: test diff --git a/tests/test-command-template.t b/tests/test-command-template.t --- a/tests/test-command-template.t +++ b/tests/test-command-template.t @@ -180,6 +180,26 @@ as default style, except for extra phase $ hg log --debug -T phases > phases.out $ cmp log.out phases.out || diff -u log.out phases.out +Default style of working-directory revision should also be the same (but +date may change while running tests): + + $ hg log -r 'wdir()' | sed 's|^date:.*|date:|' > log.out + $ hg log -r 'wdir()' --style default | sed 's|^date:.*|date:|' > style.out + $ cmp log.out style.out || diff -u log.out style.out + + $ hg log -r 'wdir()' -v | sed 's|^date:.*|date:|' > log.out + $ hg log -r 'wdir()' -v --style default | sed 's|^date:.*|date:|' > style.out + $ cmp log.out style.out || diff -u log.out style.out + + $ hg log -r 'wdir()' -q > log.out + $ hg log -r 'wdir()' -q --style default > style.out + $ cmp log.out style.out || diff -u log.out style.out + + $ hg log -r 'wdir()' --debug | sed 's|^date:.*|date:|' > log.out + $ hg log -r 'wdir()' --debug --style default \ + > | sed 's|^date:.*|date:|' > style.out + $ cmp log.out style.out || diff -u log.out style.out + Default style should also preserve color information (issue2866): $ cp $HGRCPATH $HGRCPATH-bak diff --git a/tests/test-log.t b/tests/test-log.t --- a/tests/test-log.t +++ b/tests/test-log.t @@ -1626,16 +1626,16 @@ issue3772: hg log -r :null showing revis working-directory revision requires special treatment $ hg log -r 'wdir()' - changeset: 0:65624cd9070a+ + changeset: 2147483647:ffffffffffff parent: 0:65624cd9070a user: test date: [A-Za-z0-9:+ ]+ (re) $ hg log -r 'wdir()' -q - 0:65624cd9070a+ + 2147483647:ffffffffffff $ hg log -r 'wdir()' --debug - changeset: 0:65624cd9070a035fa7191a54f2b8af39f16b0c08+ + changeset: 2147483647:ffffffffffffffffffffffffffffffffffffffff phase: draft parent: 0:65624cd9070a035fa7191a54f2b8af39f16b0c08 parent: -1:0000000000000000000000000000000000000000