unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
blob 613fd6997ad9fc8f7cd4dcd55454b8887c701c15 2847 bytes (raw)
name: man/man1/notmuch-dump.1 	 # 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
 
.TH NOTMUCH-DUMP 1 2013-01-18 "Notmuch 0.15"
.SH NAME
notmuch-dump \- creates a plain-text dump of the tags of each message

.SH SYNOPSIS

.B "notmuch dump"
.RB  [ "\-\-format=(sup|batch-tag)"  "] [--]"
.RI "[ --output=<" filename "> ] [--]"
.RI "[ <" search-term ">...]"

.SH DESCRIPTION

Dump tags for messages matching the given search terms.

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.)

.TP 4
.B \-\-format=(sup|batch-tag)

Notmuch restore supports two plain text dump formats, both with one message-id
per line, followed by a list of tags.

.RS 4
.TP 4
.B sup

The
.B sup
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).
Each line has the following form

.RS 4
.RI < message-id >
.B (
.RI < tag "> ..."
.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.

.RE

.RE
.RS 4
.TP 4
.B batch-tag

The
.B batch-tag
dump format is intended to more robust against malformed message-ids
and tags containing whitespace or non-\fBascii\fR(7) characters.
Each line has the form

.RS 4
.RI "+<" "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@=.,_+-]
with
.B %nn
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 \fBnotmuch-tag\fR(1); note that the single message-id query is
mandatory for \fBnotmuch-restore\fR(1).

.RE


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.

See \fBnotmuch-search-terms\fR(7)
for details of the supported syntax for <search-terms>.

.RE
.SH SEE ALSO

\fBnotmuch\fR(1), \fBnotmuch-config\fR(1), \fBnotmuch-count\fR(1),
\fBnotmuch-hooks\fR(5), \fBnotmuch-new\fR(1), \fBnotmuch-reply\fR(1),
\fBnotmuch-restore\fR(1), \fBnotmuch-search\fR(1),
\fBnotmuch-search-terms\fR(7), \fBnotmuch-show\fR(1),
\fBnotmuch-tag\fR(1)

debug log:

solving 613fd69 ...
found 613fd69 in https://yhetil.org/notmuch.git/

(*) 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).