]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-new.c
cli: reset db directory mtime upon directory removal
[notmuch] / notmuch-new.c
index ee786a3bbbb9ada837dcab727b43392ff59280c4..33645349cd5fd8abdb5936e185b5f5c70d529c08 100644 (file)
@@ -878,6 +878,15 @@ _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);
+
   DONE:
     notmuch_directory_destroy (directory);
     return status;
@@ -1009,10 +1018,11 @@ notmuch_new_command (notmuch_config_t *config, int argc, char *argv[])
                fputs (status_string, stderr);
                free (status_string);
            }
-
            return EXIT_FAILURE;
        }
 
+       notmuch_exit_if_unmatched_db_uuid (notmuch);
+
        if (notmuch_database_needs_upgrade (notmuch)) {
            time_t now = time (NULL);
            struct tm *gm_time = gmtime (&now);