Mercurial > hg
annotate contrib/xml.rnc @ 41114:b31a41f24864
rust-cpython: binding for LazyAncestors
The `mercurial.rustext.ancestor` module will not in the foreseeable
future be a drop-in replacement for the pure `mercurial.ancestor`, because the
Rust variants take the index at instantiation whereas the Python ones
take a parents function. From the Python side, using the index from `ancestor`
would leak internal details out of `mercurial.revlog`, and that's unwanted.
Therefore, given that classes defined in
`rust-cpython` have the same names in both language, we keep the Rust naming
convention (CamelCase).
Eventually, though, the ancestor module can be placed under control of
`mercurial.policy`, but it will still be up to `revlog` to be aware of
that and play the role of a factory for instantiation.
Differential Revision: https://phab.mercurial-scm.org/D5441
author | Georges Racinet <gracinet@anybox.fr> |
---|---|
date | Thu, 13 Dec 2018 18:53:40 +0100 |
parents | 3acfb69a4729 |
children |
rev | line source |
---|---|
10161
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
1 # RelaxNG schema for "xml" log style |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
2 # Inspired by Subversion's XML log format. |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
3 |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
4 start = log |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
5 node.type = xsd:string {minLength = "40" maxLength = "40"} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
6 |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
7 log = element log { logentry+ } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
8 logentry = element logentry { |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
9 logentry.attlist, |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
10 branch*, tag*, hgparent*, |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
11 author, date, |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
12 msg, paths?, copies?, extra* |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
13 } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
14 logentry.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
15 attribute revision {xsd:nonNegativeInteger} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
16 & attribute node {node.type} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
17 branch = element branch { text } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
18 tag = element tag { text } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
19 hgparent = element parent {hgparent.attlist, text} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
20 hgparent.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
21 attribute revision {xsd:integer {minInclusive = "-1"} } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
22 & attribute node {node.type} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
23 author = element author { author.attlist, text } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
24 author.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
25 attribute email {text} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
26 date = element date {xsd:dateTime} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
27 msg = element msg {msg.attlist, text} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
28 msg.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
29 attribute xml:space {"preserve"} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
30 paths = element paths { path* } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
31 path = element path { path.attlist, text } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
32 path.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
33 # Action: (A)dd, (M)odify, (R)emove |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
34 attribute action {"A"|"M"|"R"} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
35 copies = element copies { copy+ } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
36 copy = element copy { copy.attlist, text } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
37 copy.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
38 attribute source {text} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
39 extra = element extra {extra.attlist, text} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
40 extra.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
41 attribute key {text} |