Hi,

I'm trying to get mbsync to do something I'm not sure is supported or
encouraged, so I thought I'd ask here for help or clarification.  This
is my first time posting here, so please point out anywhere I go wrong.

I'm using mbsync to sync multiple remote IMAP accounts with local
Maildirs on a Debian GNU/Linux system.  I serve these Maildirs locally
over IMAP using Dovecot, and read my mail in Emacs using the Gnus MUA.

The configuration for each of my accounts looks as follows:

IMAPStore               personal-remote
User                    f...@bar.com
PassCmd                 "pass foo"
Host                    imap.gmail.com
SSLType                 IMAPS
SSLVersions             TLSv1.2

MaildirStore            personal-local
Path                    ~/Mail/personal/
Inbox                   ~/Mail/personal/INBOX
Flatten                 .

Channel                 personal
Master                  :personal-remote:
Slave                   :personal-local:
Create                  Both
Expunge                 Both
CopyArrivalDate         yes
Patterns                *
SyncState               *
Note that I'm using the Flatten option.  I don't remember exactly why I
needed this when I started using this setup back in 2017 - I think it
allowed either Dovecot, or Gnus, or both to work OOTB without tweaking
too many options that I didn't understand.  It's entirely possible that
I can live without it, so long as I can figure out how to get all these
systems in agreement.

This setup was working fine for me until today, when I decided to enable
full-text search in Dovecot using a Xapian plugin[1].  As part of its
indexing operation, it seems to have created a subdirectory called
xapian-indexes in each of my Maildirs.  This results in a directory tree
like the following:

  ~/Mail/personal/
  |- INBOX/
  |  |- cur/
  |  |- new/
  |  |- tmp/
  |  \- <various dovecot files>
  |- xapian-indexes/
  |  |- <various db_hash directories with .glass files>
  |  \- <various expunge_hash files>
  |- <various custom and Gmail IMAP folders>
  \- <various dovecot files>

[1]: https://github.com/grosjo/fts-xapian

Now, when I run 'mbsync -D personal', I get the following error:

Reading configuration file /home/blc/.mbsyncrc
Channel personal
Opening master store personal-remote...
M: [ 1] Enter connect_store
Resolving imap.gmail.com... ok
Connecting to imap.gmail.com (74.125.193.109:993)... 
M: [ 1] Leave connect_store
Opening slave store personal-local...
S: [ 2] Enter connect_store
S: [ 2] Callback enter connect_store, sts=0
pattern '*' (effective '*'): Path, no INBOX
S: [ 3] Enter list_store, flags=2
Maildir error: found subfolder 
'xapian-indexes/db_f8b26a30f01e6f5a00050000e7929472', but store 
'personal-local' does not specify SubFolders style
S: Callback enter bad store
S: Enter cancel_store
S: Leave cancel_store
S: Callback leave bad store
S: [ 3] Callback enter list_store
S: [ 3] Callback leave list_store
S: [ 3] Leave list_store
S: [ 2] Callback leave connect_store
S: [ 2] Leave connect_store
M: Enter cancel_store
M: Leave cancel_store
I naively tried setting the Patterns option to things like '!xapian*',
but that didn't seem to change anything.

So, my question is whether it's possible to ignore this xapian-indexes
subdirectory in the local Maildir with my existing setup, or whether I
need to change my Maildir layout altogether (for example, by patching
fts-xapian to store its indices elsewhere, by removing the use of
Flatten and using SubFolders, ...).

Thanks for this great tool and TIA for any guidance you can provide,

-- 
Basil
_______________________________________________
isync-devel mailing list
isync-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/isync-devel

Reply via email to