如何使用mercurial内置模板?

时间:2012-05-14 12:22:52

标签: mercurial hgserve

Mercurial附带了一些模板。它们可能存储在/usr/local/lib/python2.7/dist-packages/mercurial/templates//usr/share/mercurial/templates中。

在此文件夹中,文件很少:

map-cmdline.bisect
map-cmdline.changelog
map-cmdline.compact
map-cmdline.default
map-cmdline.xml

它们是在命令行中使用的样式,例如hg log -l 10 --style changelog

另外还有文件夹:

atom
coal
gitweb
monoblue
paper
raw
rss
spartan

每个文件都包含以下文件:

bookmarkentry.tmpl
bookmarks.tmpl
changelogentry.tmpl
changelog.tmpl
error.tmpl
filelog.tmpl
header.tmpl
map
tagentry.tmpl
tags.tmpl

我猜这些是与hg serve一起使用的模板。尝试使用-t选项运行hgweb时出现以下错误:

$ hg serve -t paper
listening at http://127.0.0.1:8000/ (bound to *:8000)
127.0.0.1 - - [14/May/2012 14:16:38] "GET / HTTP/1.1" 500 -
127.0.0.1 - - [14/May/2012 14:16:38] Exception happened during processing request '/':
Traceback (most recent call last):
   [traceback here]
RuntimeError: No hgweb templates found in ['paper']

有谁知道这些文件夹/文件是什么以及如何使用不同模板运行hg serve

ps:我使用的是Mercurial 2.1.1

1 个答案:

答案 0 :(得分:2)

您需要使用--style标志来指定模板样式,例如gitweb或paper。

hg serve --style paper

这将在共享模板文件夹中查找并使用那里的模板集。 -t选项需要指向一组模板的路径。