The general form of search string is a list of terms separated with space:
QUERY = TERM TERM ...
Each term can be either a plain keyword, or a predict in the form of
PRED:EXP
, where PRED is the predefined filter and EXP is the parameters to be
applied to the filter. As a simple example:
bugfix from:Bob to:George age:>1w
to search emails titled as 'bugfix' (a subject keyword filter) from Bob (a sender filter) to George (a recipient filter) before 1 week ago (an age filter).
or
bugfix from:Bob is:reviewed not:obsoleted
to search all emails from Bob that have "bugfix" in subject, and have been reviewed but is not obsoleted (by a new revision of this series). Because there are syntax shortcut for some predicts, it can be simplified as:
from:Bob fix +reviewed -tested
Filter by age of the message. Supports "d" (day), "w" (week), "m" (month) and "y" (year) as units. Examples:
Syntax:
Example:
is:reviewed
"not:X" is the opposite of "is:X". "+X" and "-X" are shorter synonyms of "is:X" and "not:X" respectively.
Compare the address info of message. Example:
from:alice to:bob
NAME can be the name, email or a substring of MAINTAINERS file entries of the maintainer.
Syntax:
where NAME can be e.g. "git", "testing", "testing.TEST-NAME"
Example:
success:git
failure:testing.FreeBSD
Syntax:
USERNAME can be "me" to identify the current user
Negative of an expression. Example:
!is:reviewed (query series that are not reviewed)
!has:replies (query series that have not received any comment)
Exact match of message-id. Example:
id:<1416902879-17422-1-git-send-email-user@domain.com>
or
id:1416902879-17422-1-git-send-email-user@domain.com
The two prefixes are equivalent.
Search text keyword in the email message. Example:
regression
Alternatives can be written within braces. The query will match if at least one of the terms matches.
AND is usually obtained just by writing terms next to each other, except inside braces. For this reason you can also explicitly write an "AND" using parentheses.