Mercurial > hg
changeset 39797:a677261e7422
annotate: pass around full hex node until formatting plain output
In short, this patch moves h[:12] from hexfn() to formathex() so that
formathex() can test if h is the wdirhex or not. This helps switching the
wdir value to wdirrev/wdirhex. See the next patch.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 15 Sep 2018 17:26:22 +0900 |
parents | 94ca3579e84e |
children | ddca38941b2b |
files | mercurial/commands.py |
diffstat | 1 files changed, 13 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Sat Sep 15 17:26:21 2018 +0900 +++ b/mercurial/commands.py Sat Sep 15 17:26:22 2018 +0900 @@ -303,6 +303,11 @@ ctx = scmutil.revsingle(repo, rev) rootfm = ui.formatter('annotate', opts) + if ui.debugflag: + shorthex = pycompat.identity + else: + def shorthex(h): + return h[:12] if ui.quiet: datefunc = dateutil.shortdate else: @@ -312,7 +317,7 @@ if node is None: return None else: - return rootfm.hexfunc(node) + return hex(node) if opts.get('changeset'): # omit "+" suffix which is appended to node hex def formatrev(rev): @@ -326,14 +331,15 @@ return '%d+' % ctx.p1().rev() else: return '%d ' % rev - def formathex(hex): - if hex is None: - return '%s+' % rootfm.hexfunc(ctx.p1().node()) + def formathex(h): + if h is None: + return '%s+' % shorthex(hex(ctx.p1().node())) else: - return '%s ' % hex + return '%s ' % shorthex(h) else: - hexfn = rootfm.hexfunc - formatrev = formathex = pycompat.bytestr + hexfn = hex + formatrev = b'%d'.__mod__ + formathex = shorthex opmap = [('user', ' ', lambda x: x.fctx.user(), ui.shortuser), ('rev', ' ', lambda x: x.fctx.rev(), formatrev),