Commits

Searching for commits

Mercurial supports a functional language for selecting a set of
revisions.

The language supports a number of predicates which are joined by
infix operators. Parenthesis can be used for grouping.

Identifiers such as branch names must be quoted with single
or double quotes if they contain characters outside of
[._a-zA-Z0-9\x80-\xff] or if they match one of the
predefined predicates.

Prefix operators

not x

Changesets not in x. Short form is ! x.

Infix operators

x::y

A DAG range, meaning all changesets that are descendants
of x and ancestors of y, including x and y themselves.
If the first endpoint is left out, this is equivalent to
ancestors(y), if the second is left out it
is equivalent to descendants(x).

An alternative syntax is x..y.

x:y

All changesets with revision numbers between x and y, both
inclusive. Either endpoint can be left out, they default to
0 and tip.

x and y

The intersection of changesets in x and y. Short form is
x & y.

x or y

The union of changesets in x and y. There are two alternative
short forms: x | y and x + y.

x - y

Changesets in x but not in y.

Predicates

all()

All changesets, the same as 0:tip.

ancestor(single, single)

Greatest common ancestor of the two changesets.

ancestors(set)

Changesets that are ancestors of a changeset in set.

author(string)

Alias for user(string).

bookmark([name])

The named bookmark or all bookmarks.

branch(set)

All changesets belonging to the branches of changesets in set.

children(set)

Child changesets of changesets in set.

closed()

Changeset is closed.

date(interval)

Changesets within the interval, see hg help dates.

descendants(set)

Changesets which are descendants of changesets in set.

file(pattern)

Changesets affecting files matched by pattern.

follow()

An alias for ::. (ancestors of the working copy's
first parent).

grep(regex)

Like keyword(string) but accepts a regex. Use
grep(r'...') to ensure special escape characters
are handled correctly.

Tweak the example program (used as a performance tester) so that it
will run with higher connection concurrencies. I'm using this to
test the listener queue length reporting on apaches and everything
is consistent and as expected with this change (stuck at eight before).

BUG-768 Texture fetches hit caps throttle and need more retries.
Bumped the default retry limit up from 5 to 8 which gives up to
15 seconds more dwell time should the viewer get a 503 or other
recoverable error on access.

MAINT-1897 Poor performance viewing large group member lists
* Use LLAvatarNameCache in group UI to match what namelists use and prevent double lookups
* Remove LLSD -> Prams legacy pattern which is super slow.
* Member list on general tab only adds to the list after names are known

Allow user to override either English, or localized, skinned file.
Original LLDir::findSkinnedFilenames() implementation used a tricky rule: a
given skin directory was only considered if it provided a default-language
override for the sought filename, regardless of whether it also provided
localizations for that filename. Discussion with Richard clarifies that we
want to allow the user to override neither, either or both. Change
findSkinnedFilenames() accordingly…

Remove LLUICtrlFactory::findSkinnedFilename(): cf. LLDir method.
Richard points out that LLUICtrlFactory::findSkinnedFilename() adds little
value. It was called from exactly one place, and that one place could easily
obtain the information another way. The concern is that it could confuse a
reader of the code with regard to the other findSkinnedFilename[s]() methods
in LLDir. Clarifying the code base is a Good Thing. Removing.

LLUICtrlFactory::getLayeredXMLNode() gets LLDir::ESkinConstraint.
At this point, LLUICtrlFactory::getLayeredXMLNode() is a pretty thin wrapper
around LLDir::findSkinnedFilenames() and LLXMLNode::getLayeredXMLNode().
Until now, LLUICtrlFactory::getLayeredXMLNode() passed (by default)
LLDir::CURRENT_SKIN to LLDir::findSkinnedFilenames(). But that meant that a
caller such as LLTransUtil::parseStrings() that wants almost the same
functionality, but with LLDir::ALL_S…