Mercurial > hg
annotate contrib/xml.rnc @ 22313:d226fe36e362
memctx: allow extensions to determine what filectxfn should do
Rev 650b5b6e75ed switched the contract for filectxfn from "raise IOError if
file is missing" to "return None if file is missing". Out of tree extensions
need to be updated for that, but for extensions interested in compatibility
with both Mercurial <= 3.1 and default, it is next to impossible to introspect
core Mercurial to figure out what to do.
This patch adds a field to memctx for extensions to use.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Sat, 30 Aug 2014 05:29:38 -0700 |
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} |