Mercurial > hg
view contrib/xml.rnc @ 22913:cb4449921a1d
status: create class for status lists
Callers of various status() methods (on dirstate, context, repo) get a
tuple of 7 elements, where each element is a list of files. This
results in lots of uses of indexes where names would be much more
readable. For example, "status.ignored" seems clearer than "status[4]"
[1]. So, let's introduce a simple named tuple containing the 7 status
fields: modified, added, removed, deleted, unknown, ignored, clean.
This patch introduces the class and updates the status methods to
return instances of it. Later patches will update the callers.
[1] Did you even notice that it should have been "status[5]"?
(tweaked by mpm to introduce the class in scmutil and only change one user)
author | Martin von Zweigbergk <martinvonz@gmail.com> |
---|---|
date | Fri, 10 Oct 2014 14:32:36 -0700 |
parents | 3acfb69a4729 |
children |
line wrap: on
line source
# RelaxNG schema for "xml" log style # Inspired by Subversion's XML log format. start = log node.type = xsd:string {minLength = "40" maxLength = "40"} log = element log { logentry+ } logentry = element logentry { logentry.attlist, branch*, tag*, hgparent*, author, date, msg, paths?, copies?, extra* } logentry.attlist = attribute revision {xsd:nonNegativeInteger} & attribute node {node.type} branch = element branch { text } tag = element tag { text } hgparent = element parent {hgparent.attlist, text} hgparent.attlist = attribute revision {xsd:integer {minInclusive = "-1"} } & attribute node {node.type} author = element author { author.attlist, text } author.attlist = attribute email {text} date = element date {xsd:dateTime} msg = element msg {msg.attlist, text} msg.attlist = attribute xml:space {"preserve"} paths = element paths { path* } path = element path { path.attlist, text } path.attlist = # Action: (A)dd, (M)odify, (R)emove attribute action {"A"|"M"|"R"} copies = element copies { copy+ } copy = element copy { copy.attlist, text } copy.attlist = attribute source {text} extra = element extra {extra.attlist, text} extra.attlist = attribute key {text}