notmuch new: Remove hack to ignore read-only directories in mail store.

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.
This commit is contained in:
Carl Worth 2009-12-14 15:57:44 -08:00
parent 8c6b7d311c
commit 3a9c3ec9e7
4 changed files with 0 additions and 36 deletions

View file

@ -73,8 +73,6 @@
typedef void (*add_files_callback_t) (notmuch_message_t *message); typedef void (*add_files_callback_t) (notmuch_message_t *message);
typedef struct { typedef struct {
int ignore_read_only_directories;
int saw_read_only_directory;
int output_is_a_tty; int output_is_a_tty;
int verbose; int verbose;

View file

@ -144,17 +144,6 @@ add_files_recursive (notmuch_database_t *notmuch,
struct dirent **namelist = NULL; struct dirent **namelist = NULL;
int num_entries; 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_mtime = st->st_mtime;
path_dbtime = notmuch_database_get_timestamp (notmuch, path); 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); printf ("Found %d total files (that's not much mail).\n", count);
notmuch = notmuch_database_create (db_path); notmuch = notmuch_database_create (db_path);
add_files_state.ignore_read_only_directories = FALSE;
add_files_state.total_files = count; add_files_state.total_files = count;
} else { } else {
notmuch = notmuch_database_open (db_path, notmuch = notmuch_database_open (db_path,
NOTMUCH_DATABASE_MODE_READ_WRITE); 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;
} }
@ -502,7 +489,6 @@ notmuch_new_command (void *ctx, int argc, char *argv[])
talloc_free (dot_notmuch_path); talloc_free (dot_notmuch_path);
dot_notmuch_path = NULL; dot_notmuch_path = NULL;
add_files_state.saw_read_only_directory = FALSE;
add_files_state.processed_files = 0; add_files_state.processed_files = 0;
add_files_state.added_messages = 0; add_files_state.added_messages = 0;
gettimeofday (&add_files_state.tv_start, NULL); 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"); 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) { if (ret) {
printf ("\nNote: At least one error was encountered: %s\n", printf ("\nNote: At least one error was encountered: %s\n",
notmuch_status_to_string (ret)); notmuch_status_to_string (ret));

View file

@ -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 database. These subsequent runs will be much quicker than the initial
run. 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 Invoking
.B notmuch .B notmuch
with no command argument will run with no command argument will run

View file

@ -145,11 +145,6 @@ command_t commands[] = {
"\t\t\tVerbose operation. Shows paths of message files as\n" "\t\t\tVerbose operation. Shows paths of message files as\n"
"\t\t\tthey are being indexed.\n" "\t\t\tthey are being indexed.\n"
"\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\tInvoking notmuch with no command argument will run new if\n"
"\t\tthe setup command has previously been completed, but new has\n" "\t\tthe setup command has previously been completed, but new has\n"
"\t\tnot previously been run." }, "\t\tnot previously been run." },