Re: folder and path completely broken in HEAD?

Subject: Re: folder and path completely broken in HEAD?

Date: Sat, 03 May 2014 00:29:27 +0300

To: David Mazieres expires 2014-07-31 PDT, notmuch@notmuchmail.org

Cc:

From: Jani Nikula


On Fri, 02 May 2014, dm-list-email-notmuch@scs.stanford.edu wrote:
> Hey, I'm playing around with the head of the git repository
> (bc64cdce289d84be2550c4fccb1f008d15eaeb0e) to try to figure out how the
> new folder: prefixes work, as folders are a critical part of how I
> organize my mail.  (Since tags are not hierarchical, folders are the
> best way for me to group mail to a bunch of related addresses, while
> retaining the ability to separate out any mailboxes that become high
> traffic.)
>
> I'm using a pretty standard maildir++ layout.  For example, underneath
> my database.path I have a bunch of mail in directories such as:
>
>     .INBOX.Main/{new,cur}
>     .mail.class/{new,cur}
>     .mail.voicemail/{new,cur}
>
> It used to be the case that if I wanted to read all of my "mail" mail, I
> could search for folder:mail, while to look at just voicemail, I could
> say folder:mail.voicemail, etc.  Now, I can't get anything to match a
> folder predicate period.  For example, using notmuch as notmuch-0.17 and
> ./notmuch as notmuch-0.18-rc2+2~gbc64cdc, here's what I get:

First, read Mark's reply about database upgrade, and heed the notice
about upgrade being automatic but downgrade requiring a reindex of all
your mails.

Here's additional commentary on the specific queries.

>         linux7$ ./notmuch count folder:mail
>         0
>         linux8$ ./notmuch count folder:.mail
>         0

These two will not match anything.

>         linux9$ ./notmuch count folder:.mail.voicemail
>         0

After the upgrade, this should work for .mail.voicemail/{new,cur}.

>         linux10$ ./notmuch count folder:.mail.voicemail/cur
>         0

This won't match anything. To specifically search for messages in cur,
you can use the new path prefix, path:.mail.voicemail/cur

>         linux 11$ ./notmuch count path:.mail.voicemail
>         0

This will match messages in .mail.voicemail only, and nothing in the cur
or new subdirectories.

>         linux 12$ ./notmuch count path:.mail.voicemail/'**'
>         0

I'm not sure your quoting will work, but if you don't have any other
subfolders than cur and new, this should be equal to
folder:.mail.voicemail

>         linux 13$ ./notmuch count path:.mail.voicemail/cur 
>         0

This should match messages in the cur subdirectory.

>         linux 14$ ./notmuch count folder:mail.voicemail
>         0

This won't match anything.


BR,
Jani.


Thread: