unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
blob a7ca39d008215aff883a1ba6d58ead49646b642f 4228 bytes (raw)
name: doc/man1/notmuch-dump.rst 	 # 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
 
.. _notmuch-dump(1):

============
notmuch-dump
============

SYNOPSIS
========

**notmuch** **dump** [--gzip] [--format=(batch-tag|sup)] [--output=<*file*>] [--] [<*search-term*> ...]

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

See :any:`notmuch-search-terms(7)` for details of the supported syntax
for <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 **dump** include

.. program:: dump

.. option:: --gzip

   Compress the output in a format compatible with :manpage:`gzip(1)`.

.. option:: --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.

   batch-tag
     The default **batch-tag** dump format is intended to more
     robust against malformed message-ids and tags containing
     whitespace or non-\ :manpage:`ascii(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 **[A-Za-z0-9@=.,\_+-]** with **%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
     :any:`notmuch-tag(1)`; note that the single message-id query is
     mandatory for :any:`notmuch-restore(1)`.

   sup
     The **sup** dump file format is specifically chosen to be
     compatible with the format of files produced by
     :manpage:`sup-dump(1)`. So if you've previously been using sup
     for mail, then the :any:`notmuch-restore(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.

.. option:: --include=(config|properties|tags)

   Control what kind of metadata is included in the output.

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

   properties
     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 :any:`notmuch-properties(7)` for more details.

   tags
     Output per-message boolean metadata, namely tags. See *format* above
     for description of the output.

   The default is to include all available types of data.  The option
   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 <*included*> is a comma separated list of the above options.

.. option:: --output=<filename>

   Write output to given file instead of stdout.

SEE ALSO
========

:any:`notmuch(1)`,
:any:`notmuch-config(1)`,
:any:`notmuch-count(1)`,
:any:`notmuch-hooks(5)`,
:any:`notmuch-insert(1)`,
:any:`notmuch-new(1)`,
:any:`notmuch-properties(7)`,
:any:`notmuch-reply(1)`,
:any:`notmuch-restore(1)`,
:any:`notmuch-search(1)`,
:any:`notmuch-search-terms(7)`,
:any:`notmuch-show(1)`,
:any:`notmuch-tag(1)`

debug log:

solving a7ca39d0 ...
found a7ca39d0 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).