annotate contrib/xml.rnc @ 45435:64de86fd0984

tags: take lock instead of wlock before writing hgtagsfnodes1 cache This cache is shared across stores and hence we should take store lock before writing to it. Otherwise there will be race where one share with wlock is writing to this cache and other share with wlock is trying to read it simultaneously. Differential Revision: https://phab.mercurial-scm.org/D9001
author Pulkit Goyal <7895pulkit@gmail.com>
date Tue, 08 Sep 2020 19:36:40 +0530
parents 3acfb69a4729
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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}