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.
typedef void (*add_files_callback_t) (notmuch_message_t *message);
typedef struct {
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;
int output_is_a_tty;
int verbose;
struct dirent **namelist = NULL;
int num_entries;
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);
path_mtime = st->st_mtime;
path_dbtime = notmuch_database_get_timestamp (notmuch, path);
printf ("Found %d total files (that's not much mail).\n", count);
notmuch = notmuch_database_create (db_path);
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.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;
}
add_files_state.total_files = 0;
}
talloc_free (dot_notmuch_path);
dot_notmuch_path = NULL;
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);
add_files_state.processed_files = 0;
add_files_state.added_messages = 0;
gettimeofday (&add_files_state.tv_start, NULL);
printf ("No new mail.\n");
}
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));
if (ret) {
printf ("\nNote: At least one error was encountered: %s\n",
notmuch_status_to_string (ret));
database. These subsequent runs will be much quicker than the initial
run.
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
Invoking
.B notmuch
with no command argument will run
"\t\t\tVerbose operation. Shows paths of message files as\n"
"\t\t\tthey are being indexed.\n"
"\n"
"\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." },
"\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." },