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.
log: fill in pseudo rev and node as wdir() manifest identifiers
While we'll never support such identifiers to look up the manifest,
this behavior seems more consistent.
log: have changesetformatter fill in wdir() rev and node (BC)
This matches the behavior of the default template keywords. wdir() support
is still experimental so we can change the output.
hgweb: use scmutil.binnode() to translate None to wdir hash (
issue5988)
I left some of ctx.node() calls unchanged as they seemed unlikely to be
workingctx, or passed to diff functions where None is the default value.
Note that a None revision can also cause a similar problem, but I'm not sure
if we can simply bulk-replace ctx.rev() with scmutil.intrev(ctx) as there's
large hole between tip revision and wdir revision. If such pair were passed
in to xrange() for example, we would waste CPU time.
hgweb: register web.static to the config table
Otherwise we would got a develwarn.
py3: use pycompat.strkwargs() in contrib/simplemerge
Differential Revision: https://phab.mercurial-scm.org/D4699
py3: add b'' prefixes in contrib/simplemerge
They were added using byteify-strings.py.
# skip-blame because just b'' prefixes
Differential Revision: https://phab.mercurial-scm.org/D4698