Mercurial > hg
view contrib/xml.rnc @ 30816:96f811bceb85
hgweb: build the "entries" list directly in filelog command
There's no apparent reason to have this "entries" generator function that
builds a list and then yields its elements in reverse order and which is only
called to build the "entries" list. So just build the list directly, in
reverse order.
Adjust "parity" generator's offset to keep rendering the same.
author | Denis Laxalde <denis.laxalde@logilab.fr> |
---|---|
date | Fri, 13 Jan 2017 10:22:25 +0100 |
parents | 3acfb69a4729 |
children |
line wrap: on
line source
# RelaxNG schema for "xml" log style # Inspired by Subversion's XML log format. start = log node.type = xsd:string {minLength = "40" maxLength = "40"} log = element log { logentry+ } logentry = element logentry { logentry.attlist, branch*, tag*, hgparent*, author, date, msg, paths?, copies?, extra* } logentry.attlist = attribute revision {xsd:nonNegativeInteger} & attribute node {node.type} branch = element branch { text } tag = element tag { text } hgparent = element parent {hgparent.attlist, text} hgparent.attlist = attribute revision {xsd:integer {minInclusive = "-1"} } & attribute node {node.type} author = element author { author.attlist, text } author.attlist = attribute email {text} date = element date {xsd:dateTime} msg = element msg {msg.attlist, text} msg.attlist = attribute xml:space {"preserve"} paths = element paths { path* } path = element path { path.attlist, text } path.attlist = # Action: (A)dd, (M)odify, (R)emove attribute action {"A"|"M"|"R"} copies = element copies { copy+ } copy = element copy { copy.attlist, text } copy.attlist = attribute source {text} extra = element extra {extra.attlist, text} extra.attlist = attribute key {text}