+ <search-terms>. With no search terms, a dump of all messages in the
+ database will be generated. A "--" 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
+ robust against malformed message-ids and tags containing
+ whitespace or non-<b>ascii</b>(7) characters. Each line has the
+ form
+ +<<u>encoded-tag</u>> +<<u>encoded-tag</u>> ... -- id:<<u>quoted-mes‐</u>
+ <u>sage-id</u>>
+
+ 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
+ astute 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 sup-dump.
+ So if you've previously been using sup for mail, then the
+ <b>notmuch</b> <b>restore</b> command provides you a way to import all
+ of your tags (or labels as sup calls them). Each line has
+ the following form
+ <<u>message-id</u>> <b>(</b> <<u>tag</u>> ... <b>)</b>
+
+ 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|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 seperated key-value
+ pair. Both key and value are hex encoded if needed.
+
+ <b>tags</b>
+ Output per-message metadata, namely tags. See <u>format</u> above
+ for description of the output.
+
+ The default is to include both tags and configuration informa‐
+ tion. As of version 2 of the dump format, there is a header line
+ of the following form
+
+ #notmuch-dump <<u>format</u>>:<<u>version</u>> <<u>included</u>>
+
+ 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.