unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Michal Sojka <sojkam1@fel.cvut.cz>
To: notmuch@notmuchmail.org
Subject: Mailstore abstraction & maildir synchronization
Date: Thu, 18 Mar 2010 16:39:36 +0100	[thread overview]
Message-ID: <1268926780-20045-1-git-send-email-sojkam1@fel.cvut.cz> (raw)

Hi all,

I've finally found some time to implement the mailstore abstraction
was initially described in id:87ljecmnbd.fsf@steelpick.localdomain and
id:87eijqlz54.fsf@steelpick.localdomain.

The idea is to allow notmuch operate on different types of mail
storage (e.g. mail in git repositories) and to store the tags in the
storage together with mails. The aim is the ability to synchronize
mails and tags between computers. The following patch series is the
first version which I'm able to use on daily basis so I'd like to get
some feedback.

In the current form, the patch series implements two mail stores:
1. plain files (compatible with the current notmuch)
2. maildir (synchronizes certain tags with maildir flags)

The series passes the test suite. For the maildir store, there are
additional tests, but you need need the modularized testsuite (taken
from git). The whole patch series is also available from
git://rtime.felk.cvut.cz/notmuch.git mailstore-abstraction-v1 (this
branch wont be rebased).

Known bugs and limitations:

- Only file-based storage is suported. Notmuch access the files
  directly, and not via the mailstore interface.

- (maildir) Viewing/storing of attachments of unread messages doesn't
  work. The reason is that when you view the message it its unread tag
  is removed which leads to rename of the file, but Emacs still uses
  the original name to access the attachment.

  Workaround: close the message and open it again.

Maildir howto:

1. Backup you emails
2. Apply the patches (at least 1-3)
3. Configure notmuch to use maildir store
cat > ~/.notmuch-config <<EOF
[mailstore]
type=maildir
EOF
4. Enjoy

Advantages for me:

- Whenever I read a message my mobile phone gets that information
  since I run offlineimap periodically on background.
- My mailsync script (notmuch new + tagging) is much faster because it
  does not call offlineimap and notmuchsync (two times). I call it
  manually, because I want to decide when new mail should appear.

Cheers,
-Michal

             reply	other threads:[~2010-03-18 15:40 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-18 15:39 Michal Sojka [this message]
2010-03-18 15:39 ` [PATCH 1/4] Mailstore abstraction interface Michal Sojka
2010-03-18 15:39 ` [PATCH 2/4] Convert mailstore abstraction Michal Sojka
2010-03-18 15:39 ` [PATCH 3/4] Add maildir-based mailstore Michal Sojka
2010-03-23 10:56   ` Ruben Pollan
2010-03-23 13:35     ` Michal Sojka
2010-03-23 14:37       ` Ruben Pollan
2010-03-26 21:41         ` Michal Sojka
2010-03-26 21:42           ` [PATCH v2 1/4] Mailstore abstraction interface Michal Sojka
2010-03-26 21:42           ` [PATCH v2 2/4] Conversion to mailstore abstraction Michal Sojka
2010-03-26 21:42           ` [PATCH v2 3/4] Add maildir-based mailstore Michal Sojka
2010-03-26 21:42           ` [PATCH v2 4/4] Tests for " Michal Sojka
2010-03-18 15:39 ` [PATCH " Michal Sojka
2010-03-23 10:59   ` Ruben Pollan
2010-03-23 13:47     ` Michal Sojka
2010-03-24  5:06 ` Mailstore abstraction & maildir synchronization Stewart Smith
2010-03-26 22:08   ` Michal Sojka
2010-03-27 20:42     ` Michal Sojka
2010-03-27 20:44       ` [PATCH v3 1/6] Mailstore abstraction interface Michal Sojka
2010-03-27 20:44       ` [PATCH v3 2/6] Conversion to mailstore abstraction Michal Sojka
2010-03-27 20:44       ` [PATCH v3 3/6] Add maildir-based mailstore Michal Sojka
2010-03-27 20:44       ` [PATCH v3 4/6] Tests for " Michal Sojka
2010-03-27 20:44       ` [PATCH v3 5/6] Access messages through mail store interface Michal Sojka
2010-03-27 20:44       ` [PATCH v3 6/6] Add 'cat' subcommand Michal Sojka
2010-03-27 20:49       ` Mailstore abstraction & maildir synchronization Michal Sojka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1268926780-20045-1-git-send-email-sojkam1@fel.cvut.cz \
    --to=sojkam1@fel.cvut.cz \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).