annotate contrib/xml.rnc @ 16243:b9c4302310e5 stable

localrepo: fix unpushable repos when using bookmarks (issue3317) bookmarks is copied to journal.bookmarks differently from how dirstate is copied to journal.dirstate. The different way is less robust, which can render the repo unpushable by other users if the first pushing user aborts their transaction. The underlying cause is that the copyfile method attempts an unnecessary chmod, which fails if the user is not the owner of the journal.bookmarks file. This patch makes the bookmarks journaling more consistent with the rest of the journaling, and will allow users to update lingering journal.bookmarks files that they're not the owners of.
author Michael Bacarella <mbacarella@janestreet.com>
date Fri, 09 Mar 2012 15:34:21 -0500
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}