]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-new.c
bindings: drop build time message on missing ruby dependency
[notmuch] / notmuch-new.c
index 442a2f0ae2886c169881dab4ae9e35bf20f77bec..04cb5cac092a9cf08def0af2645f89a5d0394c5f 100644 (file)
@@ -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;
 }