1 <h1>NOTMUCH-DUMP(1)</h1>
5 notmuch-dump - creates a plain-text dump of the tags of each message
10 <b>notmuch</b> <b>dump</b> [<b>--format=(sup|batch-tag)</b>] [--] [ --output=<<u>filename</u>> ]
11 [--] [ <<u>search-term</u>>...]
16 Dump tags for messages matching the given search terms.
18 Output is to the given filename, if any, or to stdout.
20 These tags are the only data in the notmuch database that can't be
21 recreated from the messages themselves. The output of notmuch dump is
22 therefore the only critical thing to backup (and much more friendly to
23 incremental backup than the native database files.)
25 <b>--format=(sup|batch-tag)</b>
27 Notmuch restore supports two plain text dump formats, both with one
28 message-id per line, followed by a list of tags.
30 <b>sup</b> The <b>sup</b> dump file format is specifically chosen to be compati-
31 ble with the format of files produced by sup-dump. So if
32 you've previously been using sup for mail, then the <b>notmuch</b>
33 <b>restore</b> command provides you a way to import all of your tags
34 (or labels as sup calls them). Each line has the following
37 <<u>message-id</u>> <b>(</b> <<u>tag</u>> ... <b>)</b>
39 with zero or more tags are separated by spaces. Note that (mal-
40 formed) message-ids may contain arbitrary non-null characters.
41 Note also that tags with spaces will not be correctly restored
46 The <b>batch-tag</b> dump format is intended to more robust against
47 malformed message-ids and tags containing whitespace or non-
48 <b>ascii</b>(7) characters. Each line has the form
50 +<<u>encoded-tag</u>> +<<u>encoded-tag</u>> ... -- id:<<u>quoted-message-id</u>>
52 Tags are hex-encoded by replacing every byte not matching the
53 regex <b>[A-Za-z0-9@=.,</b>_<b>+-]</b> with <b>%nn</b> where nn is the two digit hex
54 encoding. The message ID is a valid Xapian query, quoted using
55 Xapian boolean term quoting rules: if the ID contains whites-
56 pace or a close paren or starts with a double quote, it must be
57 enclosed in double quotes and double quotes inside the ID must
58 be doubled. The astute reader will notice this is a special
59 case of the batch input format for <a href='../notmuch-tag-1/'>notmuch-tag</a>(1); note that
60 the single message-id query is mandatory for <a href='../notmuch-restore-1/'>notmuch-</a>
61 <a href='../notmuch-restore-1/'>restore</a>(1).
63 With no search terms, a dump of all messages in the database will
64 be generated. A "--" argument instructs notmuch that the remaining
65 arguments are search terms.
67 See <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7) for details of the supported syntax for
73 <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-new-1/'>not-</a>
74 <a href='../notmuch-new-1/'>much-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1),
75 <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)