patchtrack sync
Fetch the authors’ mail from the archive, and the threads of their series.
One search per author and list, (f:ADDR OR tc:ADDR) AND rt:SINCE..:
tc: finds other people’s replies, which nearly always copy the
author. Then the whole thread of every series the search touched is
fetched, because a reply that does not copy the author is only in the
thread.
The first sync of an author covers
--since([sync] since, by default three months). Later syncs search from the last one, with a day’s overlap, and refetch only the threads new mail landed in, plus open series not fetched for--refresh-days. With nothing new, that is a single request.--fullrefetches everything in the window.Searches run in windows of
--window-days; a window with 1000 or more results is searched again in halves, so no export cap can truncate the result.Timeouts and HTTP 429/5xx are retried with backoff, honouring
Retry-After. A failed search records nothing, so the next sync covers the same window. A thread whose fetch failed (or that--no-threadsskipped) stays owed until a sync fetches it; until then its series says “a fresher fetch is pending”. The exit status is non-zero when anything failed.The mailboxes in
[sources]are read first (seeimport). New local mail makes the archive fetch target its thread.--offlinereads only them;--no-localskips them.
rt: is always sent as epoch seconds: lore misreads some date forms
without complaint (rt:20261023.. matches far too much).
usage: patchtrack sync [-h] [-a AUTHOR] [-l LIST] [--since SINCE] [--full]
[--refresh-days REFRESH_DAYS] [--lore LORE]
[--delay DELAY] [--no-local] [--offline] [--no-threads]
[--window-days WINDOW_DAYS]
Named Arguments
- -a, --author
email address (repeatable; default: [sync] authors in the config)
- -l, --list
inbox to search, e.g. linux-usb (default: [sync] lists, or all)
- --since
N.days.ago (hours, weeks, months, years) or an ISO date; default: since the last sync, or [sync] since (3.months.ago) for the first
- --full
refetch every thread with mail in the window, not only what changed
Default:
False- --refresh-days
incremental: also refetch open series not fetched for this long (default 7)
- --lore
public-inbox base URL (default: [sync] lore, or https://lore.kernel.org)
- --delay
seconds between requests
Default:
1.0- --no-local
do not read the [sources] mailboxes
Default:
False- --offline
read the [sources] mailboxes only, not the archive
Default:
False- --no-threads
search only; the threads it would fetch are left for the next sync
Default:
False- --window-days
search this many days at a time (default 30); big windows are split further