hgweb:generate rev number for template
bardy
bardiku at gmail.com
Thu Apr 9 03:04:20 UTC 2009
# HG changeset patch
# User bardy <bardiku at gmail.com>
# Date 1239245957 -28800
# Node ID 0c078dbd60ce2adbee15e99bfa6dfdd4a9fe04c8
# Parent db3a68fd9387d10308148bbf1a18c89bf50ce96d
hgweb:generate rev number for template
to be able to reference rev number in hgweb template, generate the missing rev
number in filelog,graph and revnavgen first, so later you can reference it in
filelog.tmpl,graph.tmpl and map (navshortentry , filenaventry ,navgraphentry)
diff --git a/mercurial/hgweb/webcommands.py b/mercurial/hgweb/webcommands.py
--- a/mercurial/hgweb/webcommands.py
+++ b/mercurial/hgweb/webcommands.py
@@ -544,7 +544,7 @@
iterfctx = fctx.filectx(i)
l.insert(0, {"parity": parity.next(),
- "filerev": i,
+ "filerev": iterfctx.rev(),
"file": f,
"node": hex(iterfctx.node()),
"author": iterfctx.user(),
@@ -566,7 +566,11 @@
nodefunc = lambda x: fctx.filectx(fileid=x)
nav = webutil.revnavgen(end - 1, pagelen, count, nodefunc)
- return tmpl("filelog", file=f, node=hex(fctx.node()), nav=nav,
+ return tmpl("filelog",
+ file=f,
+ rev=fctx.rev(),
+ node=hex(fctx.node()),
+ nav=nav,
entries=lambda **x: entries(limit=0, **x),
latestentry=lambda **x: entries(limit=1, **x))
@@ -650,7 +654,8 @@
user = cgi.escape(templatefilters.person(ctx.user()))
branch = ctx.branch()
branch = branch, web.repo.branchtags().get(branch) == ctx.node()
- data.append((node, vtx, edges, desc, user, age, branch, ctx.tags()))
+ data.append((node, vtx, edges, desc, user, age, branch, ctx.tags()
+ ,ctx.rev()))
return tmpl('graph', rev=rev, revcount=revcount, uprev=uprev,
lessvars=lessvars, morevars=morevars, downrev=downrev,
diff --git a/mercurial/hgweb/webutil.py b/mercurial/hgweb/webutil.py
--- a/mercurial/hgweb/webutil.py
+++ b/mercurial/hgweb/webutil.py
@@ -42,17 +42,17 @@
break
last = f
if pos + f < limit:
- l.append(("+%d" % f, hex(nodefunc(pos + f).node())))
+ l.append(("+%d" % f, hex(nodefunc(pos + f).node()),pos+f))
if pos - f >= 0:
- l.insert(0, ("-%d" % f, hex(nodefunc(pos - f).node())))
+ l.insert(0, ("-%d" % f, hex(nodefunc(pos - f).node()),pos-f))
try:
- yield {"label": "(0)", "node": hex(nodefunc('0').node())}
+ yield {"label": "(0)", "node": hex(nodefunc('0').node()),"rev": 0}
- for label, node in l:
- yield {"label": label, "node": node}
+ for label, node,rev in l:
+ yield {"label": label, "node": node,"rev": rev}
- yield {"label": "tip", "node": "tip"}
+ yield {"label": "tip", "node": "tip","rev": "tip"}
except error.RepoError:
pass
More information about the Mercurial-devel
mailing list