X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-new.c;h=04cb5cac092a9cf08def0af2645f89a5d0394c5f;hp=442a2f0ae2886c169881dab4ae9e35bf20f77bec;hb=604d1e0977c2ede365f87492d6b9bf9a83c3e1d3;hpb=847792ec29709f3d3c0e94cdd22b60a253e6de8a diff --git a/notmuch-new.c b/notmuch-new.c index 442a2f0a..04cb5cac 100644 --- a/notmuch-new.c +++ b/notmuch-new.c @@ -281,6 +281,10 @@ add_file (notmuch_database_t *notmuch, const char *filename, fprintf (stderr, "Note: Ignoring non-mail file: %s\n", filename); break; /* Fatal issues. Don't process anymore. */ + case NOTMUCH_STATUS_FILE_ERROR: + fprintf (stderr, "Unexpected error with file %s\n", filename); + (void) print_status_database ("add_file", notmuch, status); + goto DONE; case NOTMUCH_STATUS_READ_ONLY_DATABASE: case NOTMUCH_STATUS_XAPIAN_EXCEPTION: case NOTMUCH_STATUS_OUT_OF_MEMORY: @@ -445,7 +449,7 @@ add_files (notmuch_database_t *notmuch, */ if (_entry_in_ignore_list (entry->d_name, state)) { if (state->debug) - printf ("(D) add_files_recursive, pass 1: explicitly ignoring %s/%s\n", + printf ("(D) add_files, pass 1: explicitly ignoring %s/%s\n", path, entry->d_name); continue; } @@ -513,9 +517,8 @@ add_files (notmuch_database_t *notmuch, /* Ignore files & directories user has configured to be ignored */ if (_entry_in_ignore_list (entry->d_name, state)) { if (state->debug) - printf ("(D) add_files_recursive, pass 2: explicitly ignoring %s/%s\n", - path, - entry->d_name); + printf ("(D) add_files, pass 2: explicitly ignoring %s/%s\n", + path, entry->d_name); continue; } @@ -529,7 +532,7 @@ add_files (notmuch_database_t *notmuch, notmuch_filenames_get (db_files)); if (state->debug) - printf ("(D) add_files_recursive, pass 2: queuing passed file %s for deletion from database\n", + printf ("(D) add_files, pass 2: queuing passed file %s for deletion from database\n", absolute); _filename_list_add (state->removed_files, absolute); @@ -547,7 +550,7 @@ add_files (notmuch_database_t *notmuch, char *absolute = talloc_asprintf (state->removed_directories, "%s/%s", path, filename); if (state->debug) - printf ("(D) add_files_recursive, pass 2: queuing passed directory %s for deletion from database\n", + printf ("(D) add_files, pass 2: queuing passed directory %s for deletion from database\n", absolute); _filename_list_add (state->removed_directories, absolute); @@ -618,7 +621,7 @@ add_files (notmuch_database_t *notmuch, "%s/%s", path, notmuch_filenames_get (db_files)); if (state->debug) - printf ("(D) add_files_recursive, pass 3: queuing leftover file %s for deletion from database\n", + printf ("(D) add_files, pass 3: queuing leftover file %s for deletion from database\n", absolute); _filename_list_add (state->removed_files, absolute); @@ -633,7 +636,7 @@ add_files (notmuch_database_t *notmuch, notmuch_filenames_get (db_subdirs)); if (state->debug) - printf ("(D) add_files_recursive, pass 3: queuing leftover directory %s for deletion from database\n", + printf ("(D) add_files, pass 3: queuing leftover directory %s for deletion from database\n", absolute); _filename_list_add (state->removed_directories, absolute); @@ -878,17 +881,11 @@ _remove_directory (void *ctx, goto DONE; } - /* - * XXX: The library does not have a function to remove a directory - * document for a path. Usually this doesn't matter except for a - * slight waste of space. However, if the directory gets added to - * the filesystem again, the old directory document is found with - * the old mtime. Reset the directory mtime to avoid problems. - */ - notmuch_directory_set_mtime (directory, 0); + status = notmuch_directory_delete (directory); DONE: - notmuch_directory_destroy (directory); + if (status) + notmuch_directory_destroy (directory); return status; }