+ <search-terms>. With no search terms, a dump of all messages in the
+ database will be generated. A <b>--</b> argument instructs notmuch that the
+ remaining arguments are search terms.
+
+ Supported options for <b>dump</b> include
+
+ <b>--gzip</b> Compress the output in a format compatible with <b>gzip</b>(1).
+
+ <b>--format=(sup|batch-tag)</b>
+ Notmuch restore supports two plain text dump formats, both with
+ one message-id per line, followed by a list of tags.
+
+ <b>batch-tag</b>
+ The default <b>batch-tag</b> dump format is intended to more ro‐
+ bust against malformed message-ids and tags containing
+ whitespace or non-<b>ascii</b>(7) characters. Each line has the
+ form:
+
+ +<*encoded-tag*\ > +<*encoded-tag*\ > ... -- id:<*quoted-message-id*\ >
+
+ Tags are hex-encoded by replacing every byte not matching
+ the regex <b>[A-Za-z0-9@=.,</b>_<b>+-]</b> with <b>%nn</b> where nn is the two
+ digit hex encoding. The message ID is a valid Xapian
+ query, quoted using Xapian boolean term quoting rules: if
+ the ID contains whitespace or a close paren or starts
+ with a double quote, it must be enclosed in double quotes
+ and double quotes inside the ID must be doubled. The as‐
+ tute reader will notice this is a special case of the
+ batch input format for <a href='../notmuch-tag-1/'>notmuch-tag</a>(1); note that the sin‐
+ gle message-id query is mandatory for <a href='../notmuch-restore-1/'>notmuch-restore</a>(1).
+
+ <b>sup</b> The <b>sup</b> dump file format is specifically chosen to be
+ compatible with the format of files produced by
+ <b>sup-dump</b>(1). So if you've previously been using sup for
+ mail, then the <a href='../notmuch-restore-1/'>notmuch-restore</a>(1) command provides you a
+ way to import all of your tags (or labels as sup calls
+ them). Each line has the following form:
+
+ <*message-id*\ > **(** <*tag*\ > ... **)**
+
+ with zero or more tags are separated by spaces. Note that
+ (malformed) message-ids may contain arbitrary non-null
+ characters. Note also that tags with spaces will not be
+ correctly restored with this format.
+
+ <b>--include=(config|properties|tags)</b>
+ Control what kind of metadata is included in the output.
+
+ <b>config</b> Output configuration data stored in the database. Each
+ line starts with "#@ ", followed by a space separated
+ key-value pair. Both key and value are hex encoded if
+ needed.
+
+ <b>properties</b>
+ Output per-message (key,value) metadata. Each line
+ starts with "#= ", followed by a message id, and a space
+ separated list of key=value pairs. Ids, keys and values
+ are hex encoded if needed. See <a href='../notmuch-properties-7/'>notmuch-properties</a>(7) for
+ more details.
+
+ <b>tags</b> Output per-message boolean metadata, namely tags. See
+ <u>format</u> above for description of the output.
+
+ The default is to include all available types of data. The op‐
+ tion can be specified multiple times to select some subset. As
+ of version 3 of the dump format, there is a header line of the
+ following form:
+
+ #notmuch-dump <*format*>:<*version*> <*included*>
+
+ where <<u>included</u>> is a comma separated list of the above options.
+
+ <b>--output=<filename></b>
+ Write output to given file instead of stdout.