Quoth Jani Nikula on Jan 22 at 1:00 am: > On Fri, 20 Jan 2012 17:00:27 -0500, Austin Clements <amdragon@MIT.EDU> wrote: > > Later runs of "notmuch new" won't scan these files again and won't > > print warnings. > > > > Various programs (Dovecot, in my case) store indexes and caches and > > such in the maildir. Without this, notmuch persistently complains > > about such files. > > Overall, sounds good and doing this automagically is nice. Superficially > the code looks sensible, but I didn't really dig into it. A few nasty > questions instead: > > What happens if you delete a non-email file? Does the entry stay in the > database? Phooey. I thought this worked, but you're right that it doesn't (I even wrote a test for this, but the test was based on a false assumption). Non-email files do get returned by the directory iterator, so without any changes, notmuch new will notice that they're gone. What I missed is that it then uses notmuch_database_find_message_by_filename to find the "message" and remove the filename, which won't work since there's no message to find. I'll have to think about this more. > What happens if you replace a non-email file with an email file? It will not notice because notmuch new only inspects directory mtimes. This would require checking the mtimes of every non-email in the database on every notmuch new. > Does it matter what happens above? > > These are corner cases, but what remains in TODO suggests that it would > be difficult to debug and figure out if the above ever did happen to > someone. Yes. It's possible this needs to get a search syntax before it is acceptable for general use. > BR, > Jani.