Mercurial > hg
annotate contrib/xml.rnc @ 50670:11562d72cb7b
store: directly pass the filesize in the `details` of revlog
The dictionary only contains 1 (or 0) entries, we can directly store that
information (or None).
Moving to a simpler argument passing result in a noticable speedup (because
Python)
The number below use `hg perf::stream-locked-section` to measure the time spend
in the locked section of the streaming clone. Number are run on various
repository.
### mercurial-2018-08-01-zstd-sparse-revlog
before: 0.031247 seconds
after: 0.030246 seconds (-3.20%)
### mozilla-central-2018-08-01-zstd-sparse-revlog
before: 6.718968 seconds
after: 6.304179 seconds (-6.17%)
### mozilla-try-2019-02-18-zstd-sparse-revlog
before: 14.631343 seconds
after: 14.142687 seconds (-3.34%)
### netbeans-2018-08-01-zstd-sparse-revlog
before: 2.895584 seconds
after: 2.719939 seconds (-6.07%)
### pypy-2018-08-01-zstd-sparse-revlog
before: 0.561843 seconds
after: 0.543034 seconds (-3.35%)
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 30 May 2023 16:38:13 +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} |