Try   HackMD

Linux Kernel Toolings - lei

Quick Note

The Xapian query syntax

The leq q is the command to query the mailing list. You may find its syntax in public-inbox help for any mailing list:

search
------

  This public-inbox has search functionality provided by Xapian.

  It supports typical AND, OR, NOT, '+', '-' queries present
  in other search engines.

  We also support search prefixes to limit the scope of the
  search to certain fields.

  Prefixes supported in this installation include:

    s:           match within Subject  e.g. s:"a quick brown fox"
    d:           match date-time range, git "approxidate" formats supported
                 Open-ended ranges such as `d:last.week..' and
                 `d:..2.days.ago' are supported
    b:           match within message body, including text attachments
    nq:          match non-quoted text within message body
    q:           match quoted text within message body
    n:           match filename of attachment(s)
    t:           match within the To header
    c:           match within the Cc header
    f:           match within the From header
    a:           match within the To, Cc, and From headers
    tc:          match within the To and Cc headers
    l:           match contents of the List-Id header
    bs:          match within the Subject and body
    dfn:         match filename from diff
    dfa:         match diff removed (-) lines
    dfb:         match diff added (+) lines
    dfhh:        match diff hunk header context (usually a function name)
    dfctx:       match diff context lines
    dfpre:       match pre-image git blob ID
    dfpost:      match post-image git blob ID
    dfblob:      match either pre or post-image git blob ID
    patchid:     match `git patch-id --stable' output
    rt:          match received time, like `d:' if sender's clock was correct
    forpatchid:  the `X-For-Patch-ID' mail header  e.g. forpatchid:stable
                 
    changeid:    the `X-Change-ID' mail header  e.g. changeid:stable

This syntax is called the Sapian query syntax. To get started with it, see Getting Started with Xapian. You can find more detailed semantics in Xapian::QueryParser Syntax.

Also, sometimes you may notice a querying string in the bottom of the page, for example, at the bottom of the [PATCH 1/2] drm/amdgpu: move error log from ring write to commit[PATCH 1/2] drm/amdgpu: move error log from ring write to commit, you see contents like this to help filter out the threads:

find likely ancestor, descendant, or conflicting patches for this message:
( dfblob:690976665cf dfblob:05b3480ecec dfblob:f93f5100220
dfblob:af8824e8da4 )
 OR (
bs:"[PATCH 1/2] drm/amdgpu: move error log from ring write to commit" )

Examples

Finding mails that have patches about a file

$ lei q \
    -I https://lore.kernel.org/all/ \
    --threads \
    '(dfn:include/drm/drm_print.h)'

Finding mails that have patches about some files

lei support wildcard to some extent:

$ lei q \
    -I https://lore.kernel.org/all/ \
    --threads \
    '(dfn:drivers/gpu/drm/vkms/*)'

Finding mail from an mail address

Finding mail from kernel test robot (lkp@intel.com) within the past month, and save it to a directory called ktestbot:

$ lei q \
    -I https://lore.kernel.org/all/ \
    --threads \
    '(f:lkp@intel.com)'

Note that the output shows the query to the Publix Inbox:

# /home/f/.local/share/lei/store 0/0
# /usr/bin/curl -Sf -s -d '' https://lore.kernel.org/all/?x=m&t=1&q=(f%3Alkp%40intel.com)+AND+rt%3A1726221626..

And you can actually click into the https://lore.kernel.org/all/?x=m&t=1&q=(f%3Alkp%40intel.com)+AND+rt%3A1726221626..) link to see those mails on the mailing list archive website. Do remember include the two trailing dots.

Match the title

Find all mail from lkp@intel.com whose title contains fail:

lei q \
    -I https://lore.kernel.org/all/ \
    --threads \
    '(f:lkp@intel.com") AND (s:"fail")'

https://lore.kernel.org/all/?q=(f%3Alkp%40intel.com)+AND+(s%3Afailed)

References

Other References

  1. Using lei, b4, and mutt to do kernel development
  2. lore+lei: part 1, getting started
  3. lore+lei: part 2, now with IMAP
  4. lei-q(1)

Beginner Linux kernel maintainers toolbox - Krzysztof Kozlowski

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Doing more with lore and b4 - Konstantin Ryabitsev (34:10 ~ FIN)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →