[PATCH 3 of 4] changeset_printer: display p1rev:p1node with "+" suffix for workingctx
Yuya Nishihara
yuya at tcha.org
Thu Apr 2 08:35:58 CDT 2015
# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1426330890 -32400
# Sat Mar 14 20:01:30 2015 +0900
# Node ID 6df350f6ea11b913d6d263b0af3250408efc2db3
# Parent 398d78e415506124dd758574a36ee3dba3e53598
changeset_printer: display p1rev:p1node with "+" suffix for workingctx
Still templater can't handle workingctx, which will be fixed later.
diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -1101,21 +1101,24 @@ class changeset_printer(object):
'''show a single changeset or file revision'''
changenode = ctx.node()
rev = ctx.rev()
-
- if self.ui.quiet:
- self.ui.write("%d:%s\n" % (rev, short(changenode)),
- label='log.node')
- return
-
- date = util.datestr(ctx.date())
-
if self.ui.debugflag:
hexfunc = hex
else:
hexfunc = short
+ if rev is None:
+ pctx = ctx.p1()
+ revnode = (pctx.rev(), hexfunc(pctx.node()) + '+')
+ else:
+ revnode = (rev, hexfunc(changenode))
+
+ if self.ui.quiet:
+ self.ui.write("%d:%s\n" % revnode, label='log.node')
+ return
+
+ date = util.datestr(ctx.date())
# i18n: column positioning for "hg log"
- self.ui.write(_("changeset: %d:%s\n") % (rev, hexfunc(changenode)),
+ self.ui.write(_("changeset: %d:%s\n") % revnode,
label='log.changeset changeset.%s' % ctx.phasestr())
# branches are shown first before any other names due to backwards
diff --git a/tests/test-log.t b/tests/test-log.t
--- a/tests/test-log.t
+++ b/tests/test-log.t
@@ -1623,6 +1623,16 @@ issue3772: hg log -r :null showing revis
user:
date: Thu Jan 01 00:00:00 1970 +0000
+working-directory revision requires special treatment
+
+ $ hg log -r 'wdir()'
+ changeset: 0:65624cd9070a+
+ user: test
+ date: [A-Za-z0-9:+ ]+ (re)
+
+ $ hg log -r 'wdir()' -q
+ 0:65624cd9070a+
+
Check that adding an arbitrary name shows up in log automatically
$ cat > ../names.py <<EOF
More information about the Mercurial-devel
mailing list