[PATCH 5 of 5] extdata: pass contexts to hgweb templates
Matt Mackall
mpm at selenic.com
Thu Sep 22 14:21:39 EDT 2016
# HG changeset patch
# User Matt Mackall <mpm at selenic.com>
# Date 1474310889 18000
# Mon Sep 19 13:48:09 2016 -0500
# Node ID e6e68432abcbeec0a74478f03762b0b3192c09b5
# Parent 6db1b2e7d19ed317404c1275db46780d40ececb8
extdata: pass contexts to hgweb templates
This makes hgweb more in line with the command line templater, and
gives access to the extdata sources.
diff -r 6db1b2e7d19e -r e6e68432abcb mercurial/hgweb/webutil.py
--- a/mercurial/hgweb/webutil.py Mon Sep 19 09:16:00 2016 -0500
+++ b/mercurial/hgweb/webutil.py Mon Sep 19 13:48:09 2016 -0500
@@ -325,6 +325,7 @@
'bookmarks': nodebookmarksdict(repo, node),
'parent': lambda **x: parents(ctx),
'child': lambda **x: children(ctx),
+ 'ctx': ctx
}
def changelistentry(web, ctx, tmpl):
diff -r 6db1b2e7d19e -r e6e68432abcb tests/test-hgweb-raw.t
--- a/tests/test-hgweb-raw.t Mon Sep 19 09:16:00 2016 -0500
+++ b/tests/test-hgweb-raw.t Mon Sep 19 13:48:09 2016 -0500
@@ -55,4 +55,35 @@
$ cat access.log error.log
127.0.0.1 - - [*] "GET /?f=bf0ff59095c9;file=sub/some%20text%25.txt;style=raw HTTP/1.1" 200 - (glob)
- $ cd ..
+Test extdata support in hgweb
+
+ $ mkdir mystyle
+ $ echo "__base__ = raw" > mystyle/map
+ $ echo 'changelogentry = changelog.tmpl' >> mystyle/map
+ $ echo '{node|short} {if(push, "(pushed by {push})")}' > mystyle/changelog.tmpl
+
+ $ echo "[extdata]" >> .hg/hgrc
+ $ echo "push = pushlog.txt" >> .hg/hgrc
+ $ echo "0 bob" > pushlog.txt
+
+ $ rm access.log error.log
+ $ hg serve -p $HGPORT -A access.log -E error.log -d --pid-file=hg.pid \
+ > --config web.guessmime=True -t mystyle
+
+ $ cat hg.pid >> $DAEMON_PIDS
+ $ (get-with-headers.py localhost:$HGPORT 'changelog' content-type content-length content-disposition) >getoutput.txt
+ $ killdaemons.py hg.pid
+
+ $ cat getoutput.txt
+ 200 Script output follows
+ content-type: text/plain; charset=ascii
+
+
+ # HG changelog
+ # Node ID bf0ff59095c91b192667cfe903dcdba4aced4833
+
+ bf0ff59095c9 (pushed by bob)
+
+ $ cat access.log error.log
+ 127.0.0.1 - - [*] "GET /changelog HTTP/1.1" 200 - (glob)
+
More information about the Mercurial-devel
mailing list