notmuch new: Remove hack to ignore read-only directories in mail store.
authorCarl Worth <cworth@cworth.org>
Mon, 14 Dec 2009 23:57:44 +0000 (15:57 -0800)
committerCarl Worth <cworth@cworth.org>
Wed, 6 Jan 2010 18:32:05 +0000 (10:32 -0800)
This was really the last thing keeping the initial run of "notmuch
new" being different from all other runs. And I'm taking a fresh
look at the performance of "notmuch new" anyway, so I think we can
safely drop this optimization.

notmuch-client.h
notmuch-new.c
notmuch.1
notmuch.c

index 50a30fed5d786fba3bbf7a6cfd26a13bb08ba5b3..eca99906da532702dc653e9f580abe9a8ebb5029 100644 (file)
@@ -73,8 +73,6 @@
 typedef void (*add_files_callback_t) (notmuch_message_t *message);
 
 typedef struct {
-    int ignore_read_only_directories;
-    int saw_read_only_directory;
     int output_is_a_tty;
     int verbose;
 
index 501f04c967f996123981827ec4421d92db2566df..21c9b6ac95abdb81d9983758ec3b5d7612783644 100644 (file)
@@ -144,17 +144,6 @@ add_files_recursive (notmuch_database_t *notmuch,
     struct dirent **namelist = NULL;
     int num_entries;
 
-    /* If we're told to, we bail out on encountering a read-only
-     * directory, (with this being a clear clue from the user to
-     * Notmuch that new mail won't be arriving there and we need not
-     * look. */
-    if (state->ignore_read_only_directories &&
-       (st->st_mode & S_IWUSR) == 0)
-    {
-       state->saw_read_only_directory = TRUE;
-       goto DONE;
-    }
-
     path_mtime = st->st_mtime;
 
     path_dbtime = notmuch_database_get_timestamp (notmuch, path);
@@ -487,12 +476,10 @@ notmuch_new_command (void *ctx, int argc, char *argv[])
 
        printf ("Found %d total files (that's not much mail).\n", count);
        notmuch = notmuch_database_create (db_path);
-       add_files_state.ignore_read_only_directories = FALSE;
        add_files_state.total_files = count;
     } else {
        notmuch = notmuch_database_open (db_path,
                                         NOTMUCH_DATABASE_MODE_READ_WRITE);
-       add_files_state.ignore_read_only_directories = TRUE;
        add_files_state.total_files = 0;
     }
 
@@ -502,7 +489,6 @@ notmuch_new_command (void *ctx, int argc, char *argv[])
     talloc_free (dot_notmuch_path);
     dot_notmuch_path = NULL;
 
-    add_files_state.saw_read_only_directory = FALSE;
     add_files_state.processed_files = 0;
     add_files_state.added_messages = 0;
     gettimeofday (&add_files_state.tv_start, NULL);
@@ -533,13 +519,6 @@ notmuch_new_command (void *ctx, int argc, char *argv[])
        printf ("No new mail.\n");
     }
 
-    if (elapsed > 1 && ! add_files_state.saw_read_only_directory) {
-       printf ("\nTip: If you have any sub-directories that are archives (that is,\n"
-               "they will never receive new mail), marking these directories as\n"
-               "read-only (chmod u-w /path/to/dir) will make \"notmuch new\"\n"
-               "much more efficient (it won't even look in those directories).\n");
-    }
-
     if (ret) {
        printf ("\nNote: At least one error was encountered: %s\n",
                notmuch_status_to_string (ret));
index 369ecba169e49862f5e779e01698d4b1df8b2a12..282ad9896bc6a64004f0c4b16fed2e15ba00b48a 100644 (file)
--- a/notmuch.1
+++ b/notmuch.1
@@ -109,14 +109,6 @@ whenever new mail is delivered and you wish to incorporate it into the
 database. These subsequent runs will be much quicker than the initial
 run.
 
-Note:
-.B notmuch new
-runs (other than the first run) will skip any read-only directories,
-so you can use that to mark directories that will not receive any new
-mail (and make
-.B notmuch new
-even faster).
-
 Invoking
 .B notmuch
 with no command argument will run
index 2ac8a592bb264e23259a8d1601b0aad7451eb088..87479f81056b53cef82859c61adb7794f19ecf79 100644 (file)
--- a/notmuch.c
+++ b/notmuch.c
@@ -145,11 +145,6 @@ command_t commands[] = {
       "\t\t\tVerbose operation. Shows paths of message files as\n"
       "\t\t\tthey are being indexed.\n"
       "\n"
-      "\t\tNote: \"notmuch new\" runs (other than the first run) will\n"
-      "\t\tskip any read-only directories, so you can use that to mark\n"
-      "\t\tdirectories that will not receive any new mail (and make\n"
-      "\t\t\"notmuch new\" even faster).\n"
-      "\n"
       "\t\tInvoking notmuch with no command argument will run new if\n"
       "\t\tthe setup command has previously been completed, but new has\n"
       "\t\tnot previously been run." },