NOTMUCH-DUMP(1)

NAME

       notmuch-dump - creates a plain-text dump of the tags of each message

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

       --gzip Compress the output in a format compatible with gzip(1).

       --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 ro‐
                     bust against malformed message-ids  and  tags  containing
                     whitespace  or non-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  as‐
                     tute  reader  will  notice  this is a special case of the
                     batch input format for notmuch-tag(1); note that the sin‐
                     gle message-id query is mandatory for notmuch-restore(1).

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

       --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 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 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 <included> is a comma separated list of the above options.

       --output=<filename>
              Write output to given file instead of stdout.

SEE ALSO

       notmuch(1), notmuch-config(1), notmuch-count(1), notmuch-hooks(5), not‐
       much-insert(1),   notmuch-new(1),   notmuch-properties(7),  notmuch-re‐
       ply(1), notmuch-restore(1), notmuch-search(1), notmuch-search-terms(7),
       notmuch-show(1), notmuch-tag(1)

AUTHOR

       Carl Worth and many others

COPYRIGHT

       2009-2022, Carl Worth and many others

0.35