unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
blob 680b5af11adbb288b1ff08fef7c3a7276443f718 12851 bytes (raw)
name: notmuch.pod 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
 
=head1 Name
notmuch - thread-based email index, search, and tagging

=head1 Synopsis

=over 

=item B<notmuch> I<command> [I<args> ...]

=back

=head1 Description

Notmuch is a command-line based
program for indexing, searching, reading, and tagging large collections
of email messages. 
 The quickest way to get started with Notmuch is to simply
invoke the B<notmuch> command with no arguments, which will interactively
guide you through the process of indexing your mail.

=head1 Note

While the command-line
program B<notmuch> provides powerful functionality, it does not provide the
most convenient interface for that functionality. More sophisticated interfaces
are expected to be built on top of either the command-line interface, or
more likely, on top of the notmuch library interface. See http://notmuchmail.org
for more about alternate interfaces to notmuch.

=head1 Commands

=head2 setup

Interactively sets up notmuch for first use.  The setup command will
prompt for your full name, your primary email address, any alternate
email addresses you use, and the directory containing your email
archives. Your answers will be written to a configuration file in
${NOTMUCH_CONFIG} (if set) or ${HOME}/.notmuch-config . This
configuration file will be created with descriptive comments, making
it easy to edit by hand later to change the configuration. Or you can
run B<notmuch setup> again to change the configuration.

The mail directory you specify can contain any number of
sub-directories and should primarily contain only files with
individual email messages (eg. maildir or mh archives are perfect). If
there are other, non-email files (such as indexes maintained by other
email programs) then notmuch will do its best to detect those and
ignore them.

Mail storage that uses mbox format, (where one mbox file contains many
messages), will not work with notmuch. If that's how your mail is
currently stored, it is recommended you first convert it to maildir
format with a utility such as mb2md before running B<notmuch setup>

Invoking B<notmuch> with no command argument will run B<setup> if the
setup command has not previously been completed.

=head2 new

Find and import any new messages to the database.  The B<new> command
scans all sub-directories of the database, performing full-text
indexing on new messages that are found. Each new message will
automatically be tagged with both the B<inbox> and B<unread> tags.
You should run B<notmuch new> once after first running B<notmuch setup> to create the initial database. The first run may take a long
time if you have a significant amount of mail (several hundred
thousand messages or more). Subsequently, you should run B<notmuch
new> whenever new mail is delivered and you wish to incorporate it
into the database.  These subsequent runs will be much quicker than
the initial run.

Note:
B<notmuch new> runs (other than the first run) will skip any read-only directories,
so you can use that to mark directories that will not receive any new mail
(and make B<notmuch new> even faster). 
Invoking B<notmuch> with no command argument
will run B<new> if B<notmuch setup> has previously been completed, but B<notmuch
new> has not previously been run. 
Several of the notmuch commands accept
search terms with a common syntax. See the B<SEARCH SYNTAX> section below for
more details on the supported syntax. 
The B<search> and B<show> commands are
used to query the email database. 

=head2 search [options...] <search-term>... 

Search for
messages matching the given search terms, and display as results the threads
containing the matched messages. 
The output consists of one line per thread,
giving a thread ID, the date of the newest (or oldest, depending on the
sort option) matched message in the thread, the number of matched messages
and total messages in the thread, the names of all participants in the
thread, and the subject of the newest (or oldest) message. 
Supported options
for B<search> include 

=over

=item B<--sort=>(B<newest-first>|B<oldest-first>) 

This option can be used
to present results in either chronological order (B<oldest-first>) or reverse
chronological order (B<newest-first>). 
Note: The thread order will be distinct
between these two options (beyond being simply reversed). When sorting by
B<oldest-first> the threads will be sorted by the oldest message in each thread,
but when sorting by B<newest-first> the threads will be sorted by the newest
message in each thread. 
By default, results will be displayed in reverse
chronological order, (that is, the newest results will be displayed first).

=back

See the B<SEARCH SYNTAX> section below for details of the supported syntax
for B<search-terms>. 

=head2 show [options...] <search-term>... 

Shows all messages matching
the search terms. 
The messages will be grouped and sorted based on the
threading (all replies to a particular message will appear immediately
after that message in date order). The output is not indented by default,
but depth tags are printed so that proper indentation can be performed
by a post-processor (such as the emacs interface to notmuch). 
Supported
options for B<show> include 

=over 

=item B<--entire-thread> 

By default only those messages that
match the search terms will be displayed. With this option, all messages
in the same thread as any matched message will be displayed. 

=back

The  output
format  is plain-text,  with all  text-content  MIME parts decoded. Various
components in the output, (B<message>, B<header>, B<body>, B<attachment>, and MIME
B<part>), will be delimited by easily-parsed markers. Each marker consists of
a Control-L character (ASCII decimal 12), the name of the marker, and then
either an opening or closing brace, ('{' or '}'), to either open or close the
component. 

A common use of B<notmuch show> is to display a single thread of
email messages. For this, use a search term of "thread:<thread-id>" as can
be seen in the first column of output from the B<notmuch search> command. 

See the B<SEARCH SYNTAX> section below for details of the supported syntax
for <search-terms>. 
The B<reply> command is useful for preparing a template for
an email reply. 

=head2 reply [options...] <search-term>... 

Constructs a reply template
for a set of messages. 
To make replying to email easier, B<notmuch reply>
takes an existing set of messages and constructs a suitable mail template.
The Reply-to header (if any, otherwise From:) is used for the To: address.
Vales from the To: and Cc: headers are copied, but not including any of
the current user's email addresses (as configured in primary_mail or other_email
in the .notmuch-config file) in the recipient list 
It also builds a suitable
new subject, including Re: at the front (if not already present), and adding
the message IDs of the messages being replied to to the References list
and setting the In-Reply-To: field correctly. 
Finally, the original contents
of the emails are quoted by prefixing each line with '> ' and included in
the body. 
The resulting message template is output to stdout. 
Supported
options for B<reply> include 

=over

=item B<--format=>(B<default>|B<headers-only>) 

=over

=item B<default> 

Includes
subject and quoted message body. 

=item B<headers-only> 

Only produces In-Reply-To, References,
To, Cc, and Bcc headers. 
See the B<SEARCH SYNTAX> section below for details
of the supported syntax for <search-terms>. 

=back

=back

Note: It is most common to use
B<notmuch reply> with a search string matching a single message, (such as
id:<message-id>), but it can be useful to reply to several messages at once.
For example, when a series of patches are sent in a single thread, replying
to the entire thread allows for the reply to comment on issue found in
multiple patches. 

=head2 tag +<tag>|-<tag> [...] [--] <search-term>... 

Add/remove tags for all
messages matching the search terms. 
Tags prefixed by '+' are added while
those prefixed by '-' are removed. For each message, tag removal is performed
before tag addition. 
The beginning of I<search-terms> is recognized by the
first argument that begins with neither '+' nor '-'. Support for an initial search
term beginning with '+' or '-' is provided by allowing the user to specify a
"--" argument to separate the tags from the search terms. 
See the B<SEARCH SYNTAX> section below for details of the supported syntax for I<search-terms>.
The B<dump> and B<restore> commands can be used to create a textual dump of
email tags for backup purposes, and to restore from that dump 

=head2 dump [<filename>]

Creates a plain-text dump of the tags of each message. 
The output is to
the given filename, if any, or to stdout. 
These tags are the only data
in the notmuch database that can't be recreated from the messages themselves.
The output of notmuch dump is therefore the only critical thing to backup
(and much more friendly to incremental backup than the native database
files.) 

=head2 restore <filename> 

Restores the tags from the given file (see B<notmuch dump>. 
Note: The dump file format is specifically chosen to be compatible
with the format of files produced by sup-dump. So if you've previously been
using sup for mail, then the B<notmuch restore> command provides you a way
to import all of your tags (or labels as sup calls them).


=head1 Search Syntax

Several
notmuch commands accept a common syntax for search terms. 
The search terms
can consist of free-form text (and quoted phrases) which will match all
messages that contain all of the given terms/phrases in the body, the subject,
or any of the sender or recipient headers. 

In addition to free text, the
following prefixes can be used to force terms to match against specific
portions of an email, (where <brackets> indicate user-supplied values): 

=over

=begin text

 	from:<name-or-address> 
 	to:<name-or-address> 
 	subject:<word-or-quoted-phrase> 
 	attachment:<word> 
 	tag:<tag> 
 	id:<message-id> 
 	thread:<thread-id> 

=end text

=back

The B<from:> prefix is used to match the name or address of the sender
of an email message.  The B<to:> prefix is used to match the names or
addresses of any recipient of an email message, (whether To, Cc, or
Bcc).  Any term prefixed with B<subject:> will match only text from
the subject of an email.

Searching for a phrase in the subject is supported by including quotation
marks around the phrase, immediately following B<subject:>. 

The B<attachment:>
prefix can be used to search for specific filenames (or extensions) of
attachments to email messages. 

For B<tag:>, valid tag values include B<inbox>
and B<unread> by default for new messages added by B<notmuch new> as well as
any other tag values added manually with B<notmuch tag>. 

For B<id:>, message
ID values are the literal contents of the Message-ID: header of email messages,
but without the '<', '>' delimiters. 

The B<thread:> prefix can be used with the
thread ID values that are generated internally by notmuch (and do not appear
in email messages). These thread ID values can be seen in the first column
of output from B<notmuch search> 

In addition to individual terms, multiple
terms can be combined with Boolean operators ( B<and>, B<or>, B<not> , etc.). Each
term in the query will be implicitly connected by a logical AND if no explicit
operator is provided, (except that terms with a common prefix will be implicitly
combined with OR until we get Xapian defect #402 fixed). 
Parentheses can
also be used to control the combination of the Boolean operators, but will
have to be protected from interpretation by the shell, (such as by putting
quotation marks around any parenthesized expression). 

Finally, results
can be restricted to only messages within a particular time range, (based
on the Date: header) with a syntax of: 

=over

<initial-timestamp>..<final-timestamp> 

=back

Each timestamp is a number representing the number of seconds since
1970-01-01 00:00:00 UTC. This is not the most convenient means of
expressing date ranges, but until notmuch is fixed to accept a more
convenient form, one can use the date program to construct
timestamps. For example, with the bash shell the folowing syntax would
specify a date range to return messages from 2009-10-01 until the
current time:

=over 

text $(date +%s -d 2009-10-01)..$(date +%s) 

=back

=head1 See Also 

The emacs-based interface to notmuch (available
as B<notmuch.el> in the Notmuch distribution). 

The notmuch website: L<http://notmuchmail.org>

=head1 Contact 

Feel free to send questions, comments, or kudos to the notmuch mailing
list <notmuch@notmuchmail.org> . Subscription is not required before
posting, but is available from the notmuchmail.org website. 

Real-time interaction with the Notmuch community is available via IRC
(server: irc.freenode.net, channel: #notmuch).

debug log:

solving 680b5af ...
found 680b5af in https://yhetil.org/notmuch/1262281169-24909-1-git-send-email-david@tethera.net/

applying [1/1] https://yhetil.org/notmuch/1262281169-24909-1-git-send-email-david@tethera.net/
diff --git a/notmuch.pod b/notmuch.pod
new file mode 100644
index 0000000..680b5af

1:12: trailing whitespace.
=over 
1:22: trailing whitespace.
of email messages. 
1:80: trailing whitespace.
(and make B<notmuch new> even faster). 
1:83: trailing whitespace.
new> has not previously been run. 
1:86: trailing whitespace.
more details on the supported syntax. 
Checking patch notmuch.pod...
Applied patch notmuch.pod cleanly.
warning: squelched 69 whitespace errors
warning: 74 lines add whitespace errors.

index at:
100644 680b5af11adbb288b1ff08fef7c3a7276443f718	notmuch.pod

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).